[英]MongoDB. Query for array in Subdocument
我是mongodb的新手,所以如果我使用错误的术语,请纠正我:
我有以下文件(节选)
{
"_id" : ObjectId("524b0a1a7294ec8a39d4230f"),
"name" : "Irbesartan",
"decompositions" : [
"IRB_444",
"IRB_442",
"IRB_446",
"Valsartan acid"
],
"precursor" : [
{
"mass" : 429,
"ion" : "+H",
"charge" : "+",
"fragments" : [
207,
195,
180
]
},
{
"mass" : 427.2252,
"ion" : "-H",
"charge" : "-",
"fragments" : [
193,
399
]
}
]
}
同
db.substances.findOne({name: "Irbesartan"}).precursor
我得到以下
[
{
"mass" : 429,
"ion" : "+H",
"charge" : "+",
"fragments" : [
207,
195,
180
]
},
{
"mass" : 427.2252,
"ion" : "-H",
"charge" : "-",
"fragments" : [
193,
399
]
}
]
但是我想访问里面的字段,尤其是片段数组(使用Mongo Shell)
一个查询有可能吗?
还是将前体存储为数组而不是子文档更好?
例如查询
db.substances.distinct("precursor.fragments", {name: "Irbesartan"})
给出:
[ 180, 193, 195, 207, 399 ]
要么
db.substances.findOne({name: "Irbesartan"}).precursor.map(function(r) {
return r.fragments;
})
给
[ [ 207, 195, 180 ], [ 193, 399 ] ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.