查询mongodb

时间:2014-11-27 21:40:14

标签: mongodb mongodb-query

我在MongoDB中有一组电子邮件,其中包含一个包含json数组的字段。

如何了解发件人和收件人,如何查找两人之间交换的所有电子邮件?我需要做一些像

这样的事情

db.email.find({"from": i.st20@gmail.com", "tos":"ron@gmail.com")

但是我找不到写这个查询的正确方法:(

> db.emails.findOne()
{

    "from" : {
        "real_name" : "it",
        "address" : "i.st20@gmail.com"
    },
    "tos" : [
        {
            "real_name" : null,
            "address" : "ron@gmail.com"
        }
    ],

}

3 个答案:

答案 0 :(得分:1)

使用“from.address”和“tos.address”:

db.emails.find({"from.address" : "i.st20@gmail.com", "tos.address" : "ron@gmail.com"})

答案 1 :(得分:1)

每个字段都被视为json,我们可以通过“。”来精确预期值。 :

db.emails.find({"tos.address" : "ron@gmail.com", "from.address":"i.st20@gmail.com"})

答案 2 :(得分:1)

From和To是对象,其中的数据可以通过.运算符访问。 所以查询将是:

db.emails.find({"from.address" : "i.st20@gmail.com", "tos.address" : "ron@gmail.com"}).