[英]How do you limit an array subelement in Mongo?
假设我在Mongo中有以下数据模型:
{
_id: ...,
name: "...",
obj: {...},
list: [ ... ],
}
现在让我们说,我的list
数组非常长,我不想每次都抓取整个文档。 所以我想获得obj
和name
,但只获取list
的最后5个元素。 你如何使用Mongo做到这一点? 我正在使用pymongo。
我认为你正在寻找$slice
运算符。 文件在这里 。
您正在寻找的语法是这样的:
db.coll.find({}, {obj:1, name: 1, list:{$slice: -5}}); // last 5
请注意,默认情况下,这也将返回_id
字段。 如果你不想在obj:1
前加上_id
add _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}` });
});
geolocation是数据数组,我们得到最后5条记录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.