我正在尝试在使用正则表达式时在 mongodb 中进行 $ne 查询,但它似乎不起作用。但是,当我不使用正则表达式时,$ne(不等于)运算符可以正常工作。
BasicDBObject q = new BasicDBObject()
q.put(field, ["\$ne": value])
上述工作正常,结果集不包含任何具有该字段值的文档。
但我需要它不区分大小写。所以我这样做了
q.put(field, ["\$ne": Pattern.compile(value, Pattern.CASE_INSENSITIVE)])
但这不起作用..
所以我想,让我去命令行看看我是否可以手动完成。所以我这样做了:
db.Order.find({"bill.recipient.name": {$ne: /diep/i}},{"bill.recipient.name":1})
它仍然不起作用!
有什么想法吗?
最佳答案
尝试使用 $not 代替 $ne。
http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-Metaoperator%3A%24not
https://stackoverflow.com/questions/5612612/
相关文章:
mongodb - 当数据库大小大于 RAM 时,MongoDB 可以工作吗?
java - 哪个是 mongodb 访问的最佳 java 驱动程序?
mongodb - MongoError : The $subtract accumulator i
ruby-on-rails-3 - 使用 MongoID 在 Rails 中进行标记的良好解决方案
java - MongoRepository findByCreatedAtBetween 没有返回
javascript - MongoDB/ Mongoose : MarkModified a ne
arrays - 如何遍历 Reactjs 中的表格行和单元格
javascript - Meteor.js 使用 X509 证书身份验证连接到 Mongo