0
サンプル収集構造:MongoDBの位置オペレータ
{
"_id" : ObjectId("57cfd62001ca2dd672cfebb1"),
"name" : "Category",
"parent" : ObjectId("57cfd5d101ca2dd672cfebb0"),
"posts" : [
{
"name" : "Post",
"author" : ObjectId("57cfd09401ca2dd672cfebac"),
"content" : "Some content.",
"comments" : [
{
"author" : ObjectId("57cfd09401ca2dd672cfebab"),
"content" : "First comment",
"rating" : 2
},
{
"author" : ObjectId("57cfd09401ca2dd672cfebac"),
"content" : "Second comment",
"rating" : 5
}
]
}
]
}
私は、そのauthor
ObjectId("57cfd09401ca2dd672cfebab")
すべてcomments
を選択したいと思います。
このクエリでは、作業
db.categories.find({ 'posts.comments.author':ObjectId("57cfd09401ca2dd672cfebab") })
が、私は、位置演算子を持つ唯一の最初に一致したコメントを返したいと思います。このようなものは機能しません。 MongoDBは入れ子配列の位置演算子をサポートしていますか?
db.categories.find({ 'posts.comments.author': ObjectId("57cfd09401ca2dd672cfebab") },
{ 'posts.comments.$': 1 })