Могу ли я использовать $ addToSet на Картах? - PullRequest
0 голосов
/ 19 февраля 2012

Документ показывает, что я могу использовать $addToSet для добавления элемента в документ, когда он не существует. Но я не уверен, что он может использовать для добавления типа Map к документу.Например:

public static void AddToSet(DBCollection collection, Map conditions, String key, Object value) {
    BasicDBObject so = new BasicDBObject();
    so.putAll(conditions);
    collection.update(so, new BasicDBObject("$addToSet", BasicDBObjectBuilder.start().add(key, value)));
}

Я поставляю value Хэш-карта, будет ли она работать?

Если это так, это приведет к проблемам с производительностью или не будет рекомендовать?

Ответы [ 2 ]

2 голосов
/ 20 февраля 2012

Если вы просто хотите установить / добавить это поле / ключ к этому значению, вы не должны использовать $ addToSet, а просто $ set.

Это так же, как если бы ваш документ был Map и вы хотитеи новый ключ / значение, за исключением того, что это делается на сервере.

0 голосов
/ 20 февраля 2012

Вы не сможете использовать карту, потому что это не тот тип, который поддерживает mongodb.Если вы превратили карту в объект DBObject, вы можете выполнить такую ​​операцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...