[英]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.