Добавить новые данные в существующую коллекцию в Монго в Java

1

Мне нужно два для добавления новых элементов в существующие данные в 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.

Теги:
mongodb-query

1 ответ

1
Лучший ответ

Вы хотите, чтобы оператор $set в вашем обновлении. Это позволяет изменять указанные поля, не затрагивая ни одно из существующих полей документа, если только указанное поле не существует, и в этом случае это поле будет перезаписано:

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

Выполняется в эквиваленте в оболочке:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню