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
、 ... など)
どうにかして 2 つのクエリを結合したいのですが、その方法がわかりませんでした (コードで取得した後を除く)。