最初,我有一个嵌套的对象,如下所示:
db.insert{a:1, b:2, c:{}}我想把内容插入到对象c中,所以我用到了下面的代码:
db.update({a:1}, {$set: {c: {one: 1, two: 2, three: 3}}})但是,我总是收到错误消息。如何为嵌套的对象进行插入?
发布于 2013-03-26 15:17:36
在Meteor中,您需要在全局范围内初始化MongoDB集合,如下所示:
YourCollection = new Meteor.Collection("yourcollection")
请记住,这需要在全局作用域中,这意味着您需要将其添加到客户端或服务器代码之外,以便两者都可以访问此集合。
然后你可以这样做
YourCollection.insert({ a: 1, b: 2 })
如果字段c不包含任何对象,则无需添加该字段。这就是MongoDB的强大之处。
从0.5.8开始,Meteor不允许您使用任意Mongo选择器从客户端更新文档。要了解更多信息,请阅读Understanding “Not permitted. Untrusted code may only update documents by ID.” Meteor error。因此,您也可以使用Meteor.methods。
但是如果你想从客户端更新,你仍然可以这样做,
YourCollection.update( { _id: "tdMrJojHyxWQ8tr6w" }, { $set : { one: 1, two: 2, three: 3 } } )
https://stackoverflow.com/questions/15630598
复制相似问题