我正在将许多记录插入到rails mongoid ds中:
products = [{id: "123"},{id: "345"}]
products.each do |product|
product['product_id'] = product.delete 'id'
end
@store = current_user.store
# Clear the existing collection
@store.products.destroy_all
@store.products.collection.insert_many(products)
这很漂亮,但是,输入到Owner
的记录与Owner
没有关联。检查产品,我可以看到owner_id
字段为空。
[我看到https://www.rubydoc.info/gems/mongo/Mongo%2FCollection:insert_many具有options
哈希。通过选项插入Owner
时,是否有办法将它们关联在一起。您会以某种方式做到吗?如何将product
中输入的每个Owner
与Owner
相关联?
这是驱动程序级别的操作:
@store.products.collection.insert_many(products)
驱动程序仅插入您告诉它要插入的数据,即仅插入products
中的键/值。该驱动程序不了解Mongoid关联或任何其他Mongoid功能。
要将产品与其商店关联,请在每个产品上相应地设置store_id
:
products = [{id: "123", store_id: 1},{id: "345", store_id: 2}]