【发布时间】:2020-11-08 08:36:39
【问题描述】:
您好,我一直在尝试选择单个 对象中返回的多个文档的所有子文档,以及是否可以按值排序。
这就是我的意思:
我的收藏:
{
userId: 1,
...
items : [
{name: "candle", value:5},
{name: "shoes", value: 200}
]
},
{
userId: 2,
...
items : [
{name: "burger", value:17},
{name: "car", value: 5000}
]
},
{
userId: 3,
...
items : [
{name: "chips", value:2},
]
}
我想做一个查询,返回类似的东西:
[
{userId:1, name: "candle", value:5},
{userId:1, name: "shoes", value: 200},
{userId:2, name: "burger", value:17},
{userId:2, name: "car", value: 5000},
{userId:3, name: "chips", value:2}
]
我一直在尝试这个:
Mymodel.find({}).select("items"); //It return me all the items but in separate object. [ {items: []} ...]
如果可能的话,我想对它们进行排序:我想获得用户收藏中最有价值的 3 个项目。我尝试按照猫鼬文档中的一些示例使用 aggregate 方法,但我没有成功使其工作。我也一直在考虑创建一个只包含用户项目的新数据库,以便我可以轻松地对它们进行排序,但我觉得有更好的解决方案来做到这一点。
所以我的问题是你知道我怎样才能让它工作吗? 提前谢谢你
【问题讨论】:
标签: javascript mongodb mongoose mongodb-query