在 MongoDB 中-如何仅检索属性中数组的第一项?
我有一个嵌套文档并使用它进行查询$text
(但这没关系,普通查询也不起作用)
我的文档结构:
{
"_id": ObjectId("...."),
"propA": {
"prop1": [
{ ... }, // this is what I want to see
{ ... },
...
],
"prop2": { ... },
"prop3": { ... },
...
},
"propB": {
"prop1": { ... }, // +this, but that's not a problem
"prop2": { ... },
"prop3": { ... },
...
},
"propC": { ... },
...
}
当我跑步时
collection.find({}, { "propA.prop1": 1, "propB.prop2": 1 });
我在propA.prop1
. 当我改为跑步时
collection.find({}, { "propA.prop1": {$slice: 1}, "propB.prop2": 1 });
我只得到了第一个项目,propA.prop1
但我也得到了里面的所有其他项目propA
(比如propA.prop2
, propA.prop3
, ...)
我想以某种方式组合这两个查询,但不知道如何(除非在代码中检索)。