Hãy nói rằng tôi có các tài liệu saumongoDB khác biệt và trong cùng một truy vấn?
Article { Comment: embedMany }
Comment { Reply: embedMany }
Reply { email: string, ip: string }
Tôi muốn thực hiện một truy vấn mà chọn riêng biệt Reply.ip
nơi Reply.email = xxx
Something như thế này, chỉ có nó không hoạt động ..
db.Article.find("Comment.Reply.email" : "xxx").distinct("Comment.Reply.ip")
Xuất JSON:
{
"_id":{
"$oid":"4e71be36c6eed629c61cea2c"
},
"name":"test",
"Comment":[
{
"name":"comment test",
"Reply":[
{
"ip":"192.168.2.1",
"email":"yyy"
},
{
"ip":"127.0.0.1",
"email":"zzz"
}
]
},
{
"name":"comment 2 test",
"Reply":[
{
"ip":"128.168.1.1",
"email":"xxx"
},
{
"ip":"192.168.1.1",
"email":"xxx"
}
]
}
]
}
tôi chạy: db.Article.distinct("Comment.Reply.ip",{"Comment.Reply.email" : "xxx"})
Tôi hy vọng: ["128.168.1.1", "192.168.1.1"]
tôi nhận được: ["127.0.0.1", "128.168.1.1", "192.168.1.1", "192.168.2.1"]
Có phiếu bầu tán thành của tôi đối với chữ "I chạy", "Tôi hy vọng "," Tôi nhận được ", nếu chỉ tất cả các câu hỏi được định dạng như thế này! – adelriosantiago
Đây là một biến thể của giải pháp http://stackoverflow.com/a/13864518/358013 – blueskin