我正在使用数据库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运算符,但希望有人可以帮助我
最佳答案
只需使用$ne
(不等于)即可,如here所示。
关于java - MongoDB查询无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20748140/