我是MongoDB的新手。我想根据嵌套文档的条件检索文档。 示例:
db.user.insert([
{name:"abc",uid:"abc.b",pass:"abc3",follows:500,posts:78},
{name:"xyz",uid:"xyz.r",pass:"xyz4",follows:600,posts:78},
{name:"pqr",uid:"pqr.s",pass:"pqr5",follows:600,posts:78,
comments:[{
uid:"abc.b",msg:"great"},{uid:"xyz.r",msg:"awesome"}
]}
])
这里,如何根据与RDBMS等效的条件检索文档:
select * where comments.user="abc";
我可以通过“abc”来评论用户。
先谢谢。
答案 0 :(得分:2)
使用 dot notation 访问查询对象中的嵌入数组元素。例如,以下内容将在user
数组uid
字段的comments
字段中查询值为"abc.d"
的{{1}}字段中的文档:
db.user.find({"comments.uid": "abc.b"});
答案 1 :(得分:-1)
db.user.find({"comments.user"="abc"})