MongoDB查询无效

时间:2013-12-23 17:18:18

标签: java mongodb mongodb-java

我正在使用数据库MongoDB,并且我尝试运行一个将检查两件事的查询。

查询的时间戳大于时间,服务器不等于名称。

在if语句中看起来像这样

if (timestamp > date && !server.equalsIgnoreCase("name")

这是我用来查询的代码

List<BasicDBObject> queryList = new ArrayList<>();
queryList.add(new BasicDBObject("timestamp",new BasicDBObject("$gt", lastCheck)));
queryList.add(new BasicDBObject("server",new BasicDBObject("$not","Dev")));
BasicDBObject query = new BasicDBObject("$and",queryList);

运行代码时出现此错误

Caused by: com.mongodb.CommandResult$CommandFailure: command failed [count]: {                         "serverUsed" : "localhost/127.0.0.1:27017" , "errmsg" : "exception: invalid use of $not" , "code" : 13041 , "ok" : 0.0}

我知道我使用$ not运算符错误但希望有人可以帮助我

1 个答案:

答案 0 :(得分:2)

只需使用$ne(对于不等于),而不是here所示。