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_manyoptions 散列。在通过选项插入记录时,有没有办法关联输入到 Owner 中的记录。你会以某种方式这样做吗?如何将输入 Owner 的每个 productOwner 相关联?

这是驱动级操作:

@store.products.collection.insert_many(products)

驱动程序只插入您告诉它要插入的数据,即只插入 products 中的 keys/values。驱动程序不了解 Mongoid 关联或任何其他 Mongoid 功能。

要将产品与其商店相关联,请相应地为每个产品设置 store_id

products = [{id: "123", store_id: 1},{id: "345", store_id: 2}]