【发布时间】:2021-10-27 07:39:12
【问题描述】:
这是否可以从集合中获取n 数量的文档,并且应该从特定对象开始获取。例如如果一个集合有 100 个文档,那么我需要从 46 [特定 id] 开始的 10 个文档。即 46-55
return new Promise((resolve, reject) => {
return products_model.find({'from_id' : 9677270841774}).limit(limit).exec((err, records) => {
if(err)
reject(err)
else
resolve(records)
})
})
编辑:原文档结构如下:
{
"_id" : ObjectId("6128a0d9cf34c208c30e6800"),
"id" : 3238425384636,
"title" : "i3jMH8CHPWY6Ru18KrmsDGdiyl2qDuFjxXD1M4yCzJHrOmSF8v",
"body_html" : "This is body",
"vendor" : NumberInt(1),
"__v" : NumberInt(0)
},
{
"_id" : ObjectId("6128a0d9cf34c208c30e6805"),
"id" : 30336405569734,
},
{},
{},
{},
{}
API 是
http://localhost:3000/products.json?since_id=30336405569734&limit=10
【问题讨论】:
-
您可以创建一个包含 10 个 id 的数组,从您拥有的那个开始。所以你得到
var arr = [46,47,48, ...,55];并像这样使用它.find({ from_id: {$in: arr }}) -
我收集了超过 75 条 lac 记录,不想进行数组处理迭代等等
标签: node.js mongodb mongoose nosql