[英]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.