有一个colloction,每个文档有多个子文档,如下所示:
db.test.insert(
{
"username" : " user1",
"Items" : [
{
"name" : "Total",
"value" : 53951
},
{
"name" : "n1",
"value" : 5711
},
{
"name" : "n2",
"value" : 5477
},
{
"name" : "n3",
"value" : 11444
}
]
})
db.test.insert(
{
"username" : " user2",
"Items" : [
{
"name" : "Total",
"value" : 43951
},
{
"name" : "n1",
"value" : 5011
},
{
"name" : "n2",
"value" : 5117
},
{
"name" : "n3",
"value" : 1444
}
]
})
db.test.insert(
{
"username" : " user3",
"Items" : [
{
"name" : "Total",
"value" : 51421
},
{
"name" : "n1",
"value" : 5241
},
{
"name" : "n2",
"value" : 1477
},
{
"name" : "n3",
"value" : 9244
}
]
})
我想选择名称为“Total”的项目如下:
{
"username" : " user1",
"Items" : [
{
"name" : "Total",
"value" : 53951
}
]
}
{
"username" : " user2",
"Items" : [
{
"name" : "Total",
"value" : 43951
}
]
}
{
"username" : " user3",
"Items" : [
{
"name" : "Total",
"value" : 51421
}
]
}
我使用了db.test.find({"Items.name":"Total"},{"Items.name":1,"Items.value":1})
之类的一些查询。但它不正确。
有什么办法,或者我应该改变数据结构?