在java中的mongo中将新数据添加到现有集合中

时间:2014-07-22 07:32:09

标签: java mongodb mongodb-query

我需要两个来为mongo db中的现有数据添加新项目。

这是mongo db我有以下数据。

  {
    "_id" : ObjectId("53ce11e7d0881d32d9fa935f"),
    "name" : "massive riots",
    "lastFeachedTime" : "Jul 15, 2014 12:55:27 PM"
  }

在这里,我必须根据名称找到数据,我必须再添加两个项目。

这是我的代码。

     DBObject queryObject = new BasicDBObject().append("name", keyword);
        if (null == newFetchTime) {

        }
        DBObject updateObject = new BasicDBObject();
        updateObject.put("nextPageToken", nextPageToken);
        updateObject.put("prevPageToken", prevPageToken);
        Utils utils = new Utils();
        DBCollection collection = utils.getStaging().getCollection("test");     
        collection.update(queryObject, updateObject, true, false);

但是我确实更新了现有值,删除了新数据。

任何人都可以告诉我如何将项目添加到mongo db中的现有数据。

1 个答案:

答案 0 :(得分:1)

您希望更新中包含$set运算符。这允许更改指定的字段而不影响文档中的任何现有字段,除非存在指定的字段,在这种情况下该字段将被覆盖:

    DBObject update = new BasicDBObject(
        "$set", new BasicDBObject()
            .append("nextPageToken",nextPageToken)
            .append("prevPageToken",prevPageToken)
    );

在shell中使用等效的东西:

{ "$set" : { "nextPageToken" : nextPageToken , "prevPageToken" : prevPageToken }}