本文介绍了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 对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!