Mongodb 如何限制Mongo中的数组子元素?
假设我在Mongo中有以下数据模型:Mongodb 如何限制Mongo中的数组子元素?,mongodb,pymongo,Mongodb,Pymongo,假设我在Mongo中有以下数据模型: { _id: ..., name: "...", obj: {...}, list: [ ... ], } 现在,假设我的列表数组很长,我不想每次都抓取整个文档。因此,我想获取obj和name,但只获取列表中的最后5个元素。你是如何和Mongo合作的?我正在使用pymongo。我想您正在寻找$slice操作符。文档是 您要查找的语法如下所示: db.coll.find({}, {obj:1, name: 1, list:{$slic
{
_id: ...,
name: "...",
obj: {...},
list: [ ... ],
}
现在,假设我的
列表
数组很长,我不想每次都抓取整个文档。因此,我想获取obj
和name
,但只获取列表中的最后5个元素。你是如何和Mongo合作的?我正在使用pymongo。我想您正在寻找$slice
操作符。文档是
您要查找的语法如下所示:
db.coll.find({}, {obj:1, name: 1, list:{$slice: -5}}); // last 5
请注意,默认情况下,这也将返回\u id
字段。如果您不想要\u id
在obj:1
前面添加\u id:0
。这是JS语法,但python语法非常接近。使用$slice运算符限制数组元素
GeoLocation.find({},{name: 1, geolocation:{$slice: -5}})
.then((result) => {
res.json(result);
})
.catch((err) => {
res.status(500).json({ success: false, msg: `Something went wrong. ${err}` });
});
其中地理位置是数据数组,从中我们得到最后5条记录