0

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

但是,我不断收到错误消息。如何为嵌套对象进行插入?

4

1 回答 1

0

在 Meteor 中,您需要像这样在全局范围内初始化 MongoDB 集合,

YourCollection = new Meteor.Collection("yourcollection")

请记住,这需要在全局范围内,这意味着您需要将其添加到客户端或服务器代码之外,以便两者都可以访问此集合。

那么你可以这样做,

YourCollection.insert({ a: 1, b: 2 })

c如果字段不包含任何对象,则无需添加字段。这就是 MongoDB 的强大之处。

从 0.5.8 开始,Meteor 不允许您使用任意 Mongo 选择器从客户端更新文档。要了解有关此内容的更多信息,请阅读理解“不允许。不受信任的代码只能通过 ID 更新文档。” 流星错误。所以你可以选择使用Meteor.methods.

但是,如果您想从客户端更新,您仍然可以这样做,

YourCollection.update( { _id: "tdMrJojHyxWQ8tr6w" }, { $set : { one: 1, two: 2, three: 3 } } )

于 2013-03-26T07:17:36.090 回答