2012-02-19 13 views
0

该文档显示我可以使用$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一个HashMap将它的工作原理?

如果是这样会导致性能问题或不推荐?为什么?

+0

你试过了吗? – Derick 2012-02-19 23:06:24

回答

2

如果你只是想设置/添加该字段/键的值,你不应该使用$ addToSet,而只需$ set。

它与您的文档是Map并且您想要的和新的键/值相同,除了它在服务器上完成。

0

您将无法使用地图,因为它不是mongodb支持的类型。如果你把地图变成一个DBObject,你可以做这种操作。

相关问题