Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Java向Mongo集合中的每个文档添加新字段_Java_Json_Spring_Mongodb_Mongo Java Driver - Fatal编程技术网

通过Java向Mongo集合中的每个文档添加新字段

通过Java向Mongo集合中的每个文档添加新字段,java,json,spring,mongodb,mongo-java-driver,Java,Json,Spring,Mongodb,Mongo Java Driver,如何向现有集合中的每个文档添加新字段 这就是我迄今为止所尝试的 MongoClient mongo = new MongoClient("localhost", 27017); DB db = mongo.getDB("myDB"); DBCollection collection = db.getCollection("myCollection"); DBObject test = new BasicDBObject(); DBObject add = new BasicDBObject();

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

这就是我迄今为止所尝试的

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);

您应该使用“更新多个”:

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

使用了您的代码,但新字段并没有附加到所有JSON中,它是否附加到某些文档中?或者根本没有?代码似乎是正确的,但它根本没有将字段追加到jsonDoes集合。find返回任何文档?如果我在这个上下文中使用for循环,所有内容都将被最后一个值覆盖。你认为有没有办法一个一个地更新它们?