而不是在mongodb工作

时间:2016-01-12 05:53:13

标签: mongodb mongodb-query

我有一个名为学生的集合

<globalization requestEncoding="utf-8" 
  responseEncoding="utf-8"
  culture="en-GB" 
 uiCulture="en-GB" />

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

当我查询名称为“a”{ "_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时,我希望输出为1,因为我得到3.再次当我查询同时具有a和b {{1我期待输出为2,但我得到4.可以任何人建议我在哪里出错吗?

2 个答案:

答案 0 :(得分:3)

使用它。

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

答案 1 :(得分:0)

在您的查询中

db.student.find({"nameIdentity.name":"a"})您正在搜索nameIdentity为&#34; a&#34;不仅仅是一个。并在你的第二个查询使用像 db.student.find({"nameIdentity.name":"a","nameIdentity.name":"b"})