【发布时间】:2016-09-07 17:06:54
【问题描述】:
我的问题几乎与question 重复。不同之处在于我在 Meteor 框架/平台中使用 minimongo。鉴于此文件:
{
"_id" : ObjectId("4d2d8deff4e6c1d71fc29a07"),
"user_id" : "714638ba-2e08-2168-2b99-00002f3d43c0",
"events" : [
{
"handled" : {
"name": "Mike",
"visible": false
},
"profile" : 10,
"data" : "....."
}
{
"handled" : {
"name": "Shaun",
"visible": false
},
"profile" : 10,
"data" : "....."
}
{
"handled" : {
"name": "Glen",
"visible": true
},
"profile" : 20,
"data" : "....."
}
]}
如何查询特定的user 和update 事件数组中的所有对象,仅在'handled.visible':false to 'handled.visible':true 的位置?尽可能地,我想在一个查询中使用它。我的目标实际上是提高我的应用程序的性能。不必获取整个对象数组,而是在客户端处理它们(更改对象属性)然后在服务器上重新更新,直接通过 Mongo 更新会很棒。直接在服务器上更改数据也是本机反应式的,并且是有利的,尽管对于我的应用程序来说并不是必需的。
我不确定如何在 minimongo 中制定查询。
我试过了:
Meteor.users.update({_id: 's8Ppj4ZFSeq9X6xC4', 'events.handled.visible': false }, { $set:{'events.$.handled.visible':true} });
这仅适用于在数组中找到的第一个对象。但是我想更新数组中handled.visible为假的所有对象。
【问题讨论】:
-
你能告诉我们你到目前为止所做的尝试吗?
标签: mongodb meteor mongodb-query minimongo