更新miniMongo时出错

时间:2013-03-26 06:20:18

标签: mongodb meteor

最初,我有一个像这样的嵌套对象:
    db.insert {a:1,b:2,c:{}}
我想将内容插入到对象c中。所以我使用以下内容:
    db.update({a:1},{$ set:{c:{one:1,two:2,three:3}}}}

但是,我一直收到错误消息。如何为嵌套对象插入?

1 个答案:

答案 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}}