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

时间:2011-04-10 15:02:31

标签: java 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})

它仍然不起作用!

任何想法?

2 个答案:

答案 0 :(得分:9)

答案 1 :(得分:2)

您也可以通过这种方式构建查询

BasicDBObject query = new BasicDBObject();
    query.append(fieldname,new BasicDBObject("$ne", value));
相关问题