所以我在 mongo 中有一个带有created_at字段的集合,我试图sort_date为每个文档添加一个属性,该属性最初等于created_at但可由用户修改。我正在使用带有 Rails 的 Mongoid 并尝试编写迁移,我想知道是否有一种聪明的(阅读:有效的)方法可以将一个属性的值复制到另一个属性,而无需 mapReduce 或循环遍历 Ruby 中的模型。谢谢!
回答我自己的问题:
可悲的是,这似乎是目前最好的选择。我想至少它比 mapReduce 简单。在这里找到了解决方案。
db.mycoll.find({}).forEach(function(doc){
db.mycoll.update({_id: doc._id}, {$set: {sort_date: doc.created_at}});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1361 次 |
| 最近记录: |