如何获取文档中特定字段的数据
关注的是我的收藏结构
colleciton mail
mailtype
criteria
triggerinfor
code ----> multiple codes are there.
description
status
尝试过但不起作用
db.getCollection('Mail').find(
{
"MailType" :"Printed",
"MailName" :"Welcomemail",
"programType":"Maile",
"criterias" :
{"triggerInformation":
{"code" :"MAIL007"},
{"description":"1234 Welcome maile"}
}
}
)
我只需要检索代码为MAIL007的文档即可..可以帮助您对此进行查询
答案 0 :(得分:0)
有两种方法,具体取决于您的需求:
1-匹配精确的嵌套文档::通过这种方式,您查询的嵌套文档与搜索条件中的文档完全完全相同。< / p>
db.getCollection('Mail').find(
{
"MailType" :"Printed",
"MailName" :"Welcomemail",
"programType":"Maile",
"criterias.triggerInformation": {
"code": "MAIL007",
"description": "1234 Welcome maile",
"status": "some status"
}
}
请注意,您需要为搜索条件中的每个嵌套文档字段显式告知一个值。如果缺少任何字段,查询将不返回任何内容。
2-查询嵌套文档中的字段:这样,您将基于嵌套文档中一个或多个字段的值查询文档。
db.getCollection('Mail').find({
"MailType":"Printed",
"MailName":"Welcomemail",
"programType":"Maile",
$and: [
{"criterias.triggerInformation.code": "MAIL007"},
{"criterias.triggerInformation.description": "description":"1234 Welcome maile"}
]
})
在上面的代码中,您正在基于嵌套文档code
中的description
和criterias.triggerInformation
字段的值查询文档。
您可以在MongoDB的文档here
中找到有关查询嵌套文档的更多信息。