在Mongo 3.6.0中更新值,同时在json对象中更新值

时间:2018-07-27 05:24:26

标签: mongodb spring-mongo

在MongoDB中,FieldAsomeFields时,我想在someFields中更新null

{ 
  "someFileds : {
      "FieldA" : "ABS"
  }
}

someFields可能也有更多字段,但是只想确保其他字段不会被覆盖。

有时候SomeFields不会有任何字段,所以想要

我正在使用下面的代码来设置值,但是在MongoDB中someFields的值为null

BasicDBObject dbObject = new BasicDBObject();

dbObject.put("SomeFields.FieldA", "TEST");

能否请您提出在这种情况下如何处理null

1 个答案:

答案 0 :(得分:0)

使用此 Mongo更新查询。

db.collection.update({}, {$set:{"someFields": {"FieldA": "Test"}}});

当它为null时,它将在someFields中创建FieldA,否则只会更新FieldA。

在您的情况下,请始终在put的第二个参数中传递对象。

dbObject.put("SomeFields", {FieldA:"TEST"});