更新文档MongoDB中的值(Collection mongo Java驱动程序版本2.x。)

时间:2018-10-17 18:52:44

标签: java database mongodb

我正在尝试更新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" }
>

0 个答案:

没有答案