本文介绍了Meteor 更新一个 Collection 对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 Meteor 中,我有一个带有 Schema 的集合,并且动态添加了许多项目.

in Meteor, I'm having a collection with a Schema, and a number of items are added dynamically.

在这种情况下,我正在处理里程碑对象,一旦用户选中一个对象,我想将此集合项中的完成更新为真(默认为假)

In this case, I'm dealing with milestones object, and once the user check one off I want to update complete in this Collections item to true (default is false)

这是我的架构

milestones: {
type: Array,
optional: true
},
'milestones.$': {
type: Object
},
'milestones.$.name': {
type: String
},
'milestones.$.hours': {
type: Number
},
'milestones.$.complete': {
type: Boolean
}

如何为此编写 $set 语句?

How do I write a $set statement for this?

推荐答案

你有一个对象数组,$elemMatch 在这里解决问题.

You have an array of objects so, $elemMatch do the trick here.

Projects.update({_id:this._id},{milestones:{$elemMatch:{'milestones.$‌​.name':this.name}},{$set:{'milestone.$.complete':value}}})

这篇关于Meteor 更新一个 Collection 对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-14 17:48