mongodb查找所有数组值不以'org:'开头的文档

时间:2013-11-05 17:18:10

标签: mongodb

考虑到这样的一些文件:

{
  _id: 'abc',
  extIds: ['org1:123', 'org2:xyz', 'org3:7q9']
},

{
  _id: 'def',
  extIds: ['org1:234', 'org2:tuv']
}

我想匹配'org3'没有extId值的那些。 我尝试了一个简单的正则表达式:

db.ext_ids.find({
  extIds: {$regex:'^(?!org3\:)'}
})

但这匹配所有除'org3:...'之外的任何extId值的文档 基本上,我需要针对数组中的所有值来评估正则表达式。

1 个答案:

答案 0 :(得分:7)

怎么样:

db.ext_ids.find({ extIds: {$not: /^org3/ }})