[英]Modify collection value in Meteor
我想编写一个查询,该查询会将project field
的类型从string
更改为object
。
因此,如果project
字段现在的值为abcd
,我希望它具有这样的对象: {id: 'abcd'}
所以:
project: 'abcd'
变成:
project: {id: 'abcd'}
我在mongo中这样做没有任何问题:
db.hello.find({}).forEach((project) => {
project.project = {
id: x.project
}
db.hello.save(x)
})
但是我不知道如何在流星中做到这一点。 到目前为止,我有:
Projects.update($set: { client: ??? } }, { multi: true });
我的两个主要问题是:
我不知道如何获得客户的当前价值
我不知道如何改变类型
首先,如果您已经运行了查询,那么您知道数据库已经调整过了吗? 因为如果您运行了它,它将更新该集合中的所有文档!
请注意,这应该在服务器端运行,我认为minitype的所有版本都不支持$type
。
// grab the cursor all string typed `project` fields
const cursor = Projects.find({ project: { $type : "string" } });
// grab the data from the cursor
const projects = cursor.fetch();
// Loop on each project and update
projects.forEach( project => Projects.update(project._id, {
$set: {
project: { id: project }
}
}) )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.