我的查询是:
db.users.find({"username" : {$regex : ".*substring.*"}});
Run Code Online (Sandbox Code Playgroud)
我没有获取包含'substring'的用户名,而是需要不包含它的用户名.
为此,您可以使用$ not运算符:
db.test.find( { username: { $not: /substring/ } } );
Run Code Online (Sandbox Code Playgroud)
像:
> db.test.insert( { username: "Derick Rethans" } );
> db.test.insert( { username: "Hannes Magunusson" } );
> db.test.find( { username: { $not: /ag/ } } );
{ "_id" : ObjectId("511258b36879ad400c26084f"), "username" : "Derick Rethans" }
Run Code Online (Sandbox Code Playgroud)
但是,你必须要知道,正则表达式和使用的$不是运营商阻止指数从能够被使用.如果您经常需要执行此查询,则可能需要仔细查看架构设计.
归档时间: |
|
查看次数: |
1970 次 |
最近记录: |