有没有办法做类似的事情:
db.coll.extend({_id:1,{field1:'test',field2:'test'}}, {deep:true});
这将在coll中找到_id
1的对象(或创建一个),然后在该对象上进行jquery-style
深度扩展。
这在使用静态类型语言时非常有用(例如,java / morphia)我们可以对现有对象进行morphia.extend()
调用,而不必担心破坏可能已在其他应用程序中定义的现有字段使用相同的数据存储。
这样的事情可能吗?
答案 0 :(得分:0)
Isn&#t; t jQuery.deep()
正在进行(深层)对象合并,您的示例仅限于特定属性?
我能想到的最好的是Morphia merge()
,你可以在https://github.com/mongodb/morphia/blob/master/morphia/src/test/java/org/mongodb/morphia/TestDatastoreMerge.java