Rails mongoid insert_many 并与模型关联
Rails mongoid insert_many and associate with model
我将许多记录插入到 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
为 nil。
我看到 https://www.rubydoc.info/gems/mongo/Mongo%2FCollection:insert_many 有 options
散列。在通过选项插入记录时,有没有办法关联输入到 Owner
中的记录。你会以某种方式这样做吗?如何将输入 Owner
的每个 product
与 Owner
相关联?
这是驱动级操作:
@store.products.collection.insert_many(products)
驱动程序只插入您告诉它要插入的数据,即只插入 products
中的 keys/values。驱动程序不了解 Mongoid 关联或任何其他 Mongoid 功能。
要将产品与其商店相关联,请相应地为每个产品设置 store_id
:
products = [{id: "123", store_id: 1},{id: "345", store_id: 2}]
我将许多记录插入到 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
为 nil。
我看到 https://www.rubydoc.info/gems/mongo/Mongo%2FCollection:insert_many 有 options
散列。在通过选项插入记录时,有没有办法关联输入到 Owner
中的记录。你会以某种方式这样做吗?如何将输入 Owner
的每个 product
与 Owner
相关联?
这是驱动级操作:
@store.products.collection.insert_many(products)
驱动程序只插入您告诉它要插入的数据,即只插入 products
中的 keys/values。驱动程序不了解 Mongoid 关联或任何其他 Mongoid 功能。
要将产品与其商店相关联,请相应地为每个产品设置 store_id
:
products = [{id: "123", store_id: 1},{id: "345", store_id: 2}]