java - MongoDB 和 Java : Query doesn't return results

标签 java mongodb

我正在使用 MongoDB Java 驱动程序,并且似乎无法让查询工作。我有一个名为“Questions”的集合,其中的条目如下所示:

{
    "question"  : "how are you",
    "category"  : "personal",
    "processed" : false,
    "training"  : true
}

运行Mongo命令行客户端时,查询

db.questions.find()

db.questions.find({"processed" : false, "training" : true})

结果按预期返回;但是,我的 java 代码执行以下操作:

DBObject queryObj = new BasicDBObject();
queryObj.put("processed", false);
queryObj.put("training",   isTrain);

DBObject updateObj = new BasicDBObject();
queryObj.put("processed", true);

DBCursor cursor = mongoCollection.find(queryObj).limit(NUM_TO_LOAD);
mongoCollection.update(queryObj, updateObj);

返回给我的光标是空的/更新没有进行任何更改。如果我从 find 调用中删除 queryObj 参数,结果将再次按预期返回。我在这里做错了什么吗?

谢谢,
克里斯·科弗特

最佳答案

看起来,您在第 6 行使用了错误的变量。它不应该是 updateObj,而不是 queryObj 吗?

希望 isTrain 是一个 boolean 值,并使用值(真/假)正确启动。

关于java - MongoDB 和 Java : Query doesn't return results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8381948/

相关文章:

java - 获取值的正确方法?

mongodb - 多次更新子文档

node.js - MongoDB 批量插入已经存在许多文档的地方

c# - Mongodb c# 驱动程序查询(选择子字段)

java - Spring Data MongoDB 连接日志记录

java - 为什么 StringTemplate 会很慢?

java - 我需要测试 void、任何 GUI 处理程序或网络操作方法吗?

java - 请求 Spring Cloud Gateway 中 GlobalFilter 中的其他服务

java - 如何安静 Drools 资源扫描仪日志记录?

mongodb - Dockerfile > 运行 mongoimport => 失败 : error connecting to db server: no reachable servers