我可以在地图上使用$ addToSet吗?

时间:2012-02-19 13:51:39

标签: mongodb set

该文档显示我可以使用$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会有效吗?

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

2 个答案:

答案 0 :(得分:2)

如果您只想将该字段/键设置/添加到该值,则不应使用$ addToSet,而只需使用$ set。

除了在服务器上完成之外,它与你想要的文件和Map以及新的键/值相同。

答案 1 :(得分:0)

您将无法使用地图,因为它不是mongodb支持的类型。如果将地图制作成DBObject,则可以执行此类操作。