【发布时间】:2011-08-19 10:43:51
【问题描述】:
我需要将嵌入文档数组批量插入到现有文档中。我已经尝试了下面的代码,但它不起作用
arr_loc = []
arr_loc << Location.new(:name=> "test") << Location.new(:name=> "test2")
biz = Business.first
biz.locations = arr_loc
biz.save # not working
目前我通过循环数组分别插入每个文档,我希望有更好的清洁方法来做到这一点。
从 mongo shell 我们可以很容易地做到这一点
> var mongo = db.things.findOne({name:"mongo"});
> print(tojson(mongo));
{"_id" : "497da93d4ee47b3a675d2d9b" , "name" : "mongo", "type" : "database"}
> mongo.data = { a:1, b:2};
{"a" : 1 , "b" : 2}
> db.things.save(mongo);
> db.things.findOne({name:"mongo"});
{"_id" : "497da93d4ee47b3a675d2d9b" , "name" : "mongo" , "type" : "database", "data" : {"a" : 1 , "b" : 2}}
>
查看link 了解更多信息.. 是否可以使用 mongoid 执行此操作?
【问题讨论】: