Мне нужно два для добавления новых элементов в существующие данные в 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.
Вы хотите, чтобы оператор $set
в вашем обновлении. Это позволяет изменять указанные поля, не затрагивая ни одно из существующих полей документа, если только указанное поле не существует, и в этом случае это поле будет перезаписано:
DBObject update = new BasicDBObject(
"$set", new BasicDBObject()
.append("nextPageToken",nextPageToken)
.append("prevPageToken",prevPageToken)
);
Выполняется в эквиваленте в оболочке:
{ "$set" : { "nextPageToken" : nextPageToken , "prevPageToken" : prevPageToken }}