我正在尝试更新mongoDB文档中的值。但是,我的代码未写入mongoDB。我正在寻找一些建议以及在mongoDB中更新文档的最佳实践
public static void updateDocumentInCollection(String providerName, String date) {
DBCollection collection = db.getCollection("LAST_REFRESH_DATES");
DBObject query = new BasicDBObject(providerName, date);
DBObject update = new BasicDBObject();
update.put("$set", new BasicDBObject(providerName, date));
DBCursor cursor = collection.find();
try {
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
} finally {
cursor.close();
}
collection.findAndModify(query, update);
}
每当我在mongo shell中运行此命令时,它都会返回此输出。
> db.LAST_REFRESH_DATES.find()
{ "_id" : ObjectId("5bc6297001894905f182d9b0"), "aaas_genes" : "yyyy-MM-dd" }
>
这是我的代码编译后的预期输出,应将aaas_genes的值修改为用户决定输入的任何日期。因此,如果我这样调用此方法:updateDocumentInCollection(“ aaas_genes”,“ 20180816”)
那么正确的输出将是:
> db.LAST_REFRESH_DATES.find()
{ "_id" : ObjectId("5bc6297001894905f182d9b0"), "aaas_genes" : "20180816" }
>