繁体   English   中英

而不是在mongodb工作

[英]And not working in mongodb

我有一个名为学生的集合

{
        "_id" : ObjectId("5693b549c4fd0e0bf4782d73"),
        "nameIdentity" : [
                {
                        "name" : "a"
                },
                {
                        "name" : "b"
                }
        ]
},
{
        "_id" : ObjectId("5693b549c4fd0e0bf4782d74"),
        "nameIdentity" : [
                {
                        "name" : "a"
                }
        ]
},
{
        "_id" : ObjectId("5693b549c4fd0e0bf4782d75"),
        "nameIdentity" : [
                {
                        "name" : "a"
                },
                {
                        "name" : "b"
                }
        ]
},
{
        "_id" : ObjectId("5693b549c4fd0e0bf4782d76"),
        "nameIdentity" : [
                {
                        "name" : "b"
                }
        ]
}

我试图使用'和'查询,但它给了我一些不同的输出。

当我查询所有nameIdentities只有名称“a” db.student.find({"nameIdentity.name":"a"})我希望输出为1,因为我得到3.再次当我查询对于同时具有a和b的名称db.student.find({"nameIdentity.name":"a"},{"nameIdentity.sourceReferenceId.sourceName":"b"})我期待输出为2,但我得到4谁能告诉我哪里出错了?

用这个。

db.student.find({"nameIdentity.name":"a","nameIdentity": { $size: 1 }})

在您的查询db.student.find({"nameIdentity.name":"a"})您正在搜索nameIdentity不仅是“a”的数据。 在你的第二个查询中使用像db.student.find({"nameIdentity.name":"a","nameIdentity.name":"b"})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM