最初,我有一个像这样的嵌套对象:
db.insert {a:1,b:2,c:{}}
我想将内容插入到对象c中。所以我使用以下内容:
db.update({a:1},{$ set:{c:{one:1,two:2,three:3}}}}
但是,我一直收到错误消息。如何为嵌套对象插入?
答案 0 :(得分:0)
在Meteor中,您需要在全局范围内初始化MongoDB集合,
YourCollection = new Meteor.Collection("yourcollection")
请记住,这需要在全局范围内,这意味着您需要从客户端或服务器代码中添加它,以便两者都可以访问此集合。
然后就可以了,
YourCollection.insert({ a: 1, b: 2 })
如果字段c
不包含任何对象,则无需添加字段Meteor.methods
。这是MongoDB的强大功能。
从0.5.8开始,Meteor不允许您使用任意Mongo选择器从客户端更新文档。要详细了解此阅读Understanding “Not permitted. Untrusted code may only update documents by ID.” Meteor error。因此,您也可以使用YourCollection.update( { _id: "tdMrJojHyxWQ8tr6w" }, { $set : { one: 1, two: 2, three: 3 } } )
。
但如果你想从客户端更新,你仍然可以,
{{1}}