考虑到这样的一些文件:
{
_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值的文档 基本上,我需要针对数组中的所有值来评估正则表达式。
答案 0 :(得分:7)
怎么样:
db.ext_ids.find({ extIds: {$not: /^org3/ }})