java - 如何使用 $ne 运算符查询 mongodb?

我正在尝试在使用正则表达式时在 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

node.js - 如何更新 Mongoose 中的特定字段?

c# - 如何通过使用 MongoDB C# 驱动程序调用 obj.ToBsonDocument()