我有一个 MongoDB 实例,我想通过检查是否同时满足多个正则表达式来搜索它。当我将 $all 与 /a/ 一起使用,或者我只使用 $regex 语法时,查询有效,但当我同时使用这两种语法时查询无效:
> db.claims.findOne({'tags': {$all: [/a/]}}, {description: 1, tags: 1})
{ "_id" : ..., "description" : "Test claim", "tags" : [ "general", "foobar" ] }
> db.claims.find({'tags': {$regex: 'a'}}, {description: 1, tags: 1})
{ "_id" : ..., "description" : "Test claim", "tags" : [ "general", "foobar" ] }
> db.claims.find({'tags': {$all: [{'$regex': 'a'}]}}, {description: 1, tags: 1})
>
这是怎么回事?这两个一起用会不会有bug?