1

鉴于一些这样的文件:

{
  _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 值的文档。
本质上,我需要针对数组中的所有值评估正则表达式。

4

1 回答 1

7

怎么样:

db.ext_ids.find({ extIds: {$not: /^org3/ }})
于 2013-11-05T17:36:05.697 回答