【问题标题】:Add new field to every document in Mongo Collection through Java通过Java向Mongodb Collection中的每个文档添加新字段
【发布时间】:2019-07-03 05:24:57
【问题描述】:

如何向现有集合中的每个文档添加新字段?

这是我迄今为止尝试过的

MongoClient mongo = new MongoClient("localhost", 27017);
DB db = mongo.getDB("myDB");
DBCollection collection = db.getCollection("myCollection");
DBObject test = new BasicDBObject();
DBObject add = new BasicDBObject();
add.put("xxx", "newField");
collection.update(add, test);

【问题讨论】:

    标签: java json spring mongodb mongo-java-driver


    【解决方案1】:

    你应该使用更新多:

        DBObject queryAll = new BasicDBObject();
        DBObject newValue = new BasicDBObject("xxx", "newField");
        DBObject update = new BasicDBObject("$set", newValue);
        collection.updateMulti(queryAll, update);
    

    【讨论】:

    • 使用了您的代码,但新字段并未附加到所有 jsons
    • 它是否附加到某些文档中?还是根本没有?
    • 代码似乎是正确的,但它根本没有将字段附加到 json
    • collection.find() 是否返回任何文档?
    • 如果我在这种情况下使用 for 循环,所有内容都将被最后一个值覆盖。你觉得有办法一一更新吗?
    猜你喜欢
    • 2011-12-04
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多