コレクションの最初の 20 レコードを 1 つの Jframe に表示し、次の 20 レコードを別のフレームに表示したいと考えています。私はMongoDBの初心者です。最初の 20 個と次の 20 個のドキュメントを検索するクエリを提案してください。
15217 次
3 に答える
13
MongoDB シェルでは、次のことができます。
db.collectionName.find( { city: "London" } ).skip( 20 ).limit( 20 );
ドキュメント 21 から 40 までの結果を表示します。
制限を確認してスキップしてください: http://docs.mongodb.org/manual/core/read/#limit-the-number-of-documents-to-return
また、チュートリアルを確認することを強くお勧めします: http://docs.mongodb.org/manual/tutorial/getting-started/
于 2013-06-24T08:05:54.640 に答える
1
これは私がこれまでに達成したことです
function getFirst20Items() {
let items
ITEMS_COLLECTION
.find({})
.limit(20)
.sort({id: 1})
.toArray( (err, allItems) => {
items = allItems
})
return new Promise(resolve => {
setTimeout(() => {
resolve(items)
}, 2000)
})
}
function getSecond20Items() {
let items
ITEMS_COLLECTION
// gte stands for --> Greater than
.find({ id: { $gte: 20 } })
.limit(20)
.sort({id: 1})
.toArray( (err, allItems) => {
items = allItems
})
return new Promise(resolve => {
setTimeout(() => {
resolve(items)
}, 2000)
})
}
app.get('/first/40/products', (req, res) => {
const all_Items = []
getFirst20Items()
.then(items => {
all_Items.push(...items)
})
.catch(err => {
throw new CustomError('Could not get Items', err);
});
getSecond20Items()
.then(items => {
all_Items.push(...items)
})
.catch(err => {
throw new CustomError('Could not get Items', err);
});
setTimeout(() => {
res.send(all_Items);
}, 2000);
});
ここからロジックで続行できます
お役に立てれば
于 2019-03-25T10:55:50.903 に答える