mongodb:在查询期间排除包含特定属性的文档

时间:2014-07-18 17:49:13

标签: mongodb

  • 我有一个mongo集合,其数据如下:

    • (userid,orgid,some_attr)

      • g @ gmail.com,12345,' xxxxxx'
    • 同一系列还包含:

      • (orgid,some_attr)
        • 12345,' yyyyy'

现在,当我更新数据时,我可以查询(userid,orgid)或(orgid)。

我的问题是:

当我使用查询(orgid)进行更新时,它会找到包含userid的记录并对其进行更新。我不想那样。

如何查询(orgid)但排除包含

的所有文档
(userid, orgid).

例如:

当我查询{ orgid : 12345 }时,它应该只返回{ 12345, 'yyyyy' }而不是

{ 'g@gmail.com' , 12345, 'xxxxx' }

请提供指示。

1 个答案:

答案 0 :(得分:1)

http://docs.mongodb.org/manual/reference/operator/query/exists/

更改您的查询:

{ orgid : 12345, userid: {$exists: false} }