Mongodb java驱动程序无法识别我的字段

时间:2015-05-23 06:09:59

标签: java mongodb

我手动为mongodb中的某些文档添加了一个字段。这是一个日期字段:creationDate。 这是我在mongodb终端中编写的脚本:

    var cursor = db.collection.find({"creationDate": {$exists: false}});
    while(cursor.hasNext()){
          box = cursor.next();
          box.creationDate = new Date();
          db.collection.save(box);
    }

所有100个文件都已成功保存。

当我在数据库中输入此查询时,我得到了正确的结果:

db.collection.find({'creationDate' : {$exists: true}})

但是当我在java中执行这一行(使用mongodb java驱动程序2.12)时,它什么都不返回:

myCollection.find(new BasicDBObject("creationDate", new BasicDBObject("$exists", true)));

虽然当我使用mongodb java驱动程序将字段creationDate添加到我的某个文档时,上面的代码只返回该文档。

我存储在数据库中的实体类如下所示:

public class Entity {
    @Id
    private ObjectId id;

    private String identifier;

    private Map<String, String> metadata = new HashMap<>(1);

    private Date creationDate;

    //setters and getters
}

我的问题是:为什么mongodb java驱动程序不能识别我在数据库中新添加的字段?

(抱歉我的英语不好!)

0 个答案:

没有答案