Rails mongoid insert_many并与模型关联

问题描述 投票:0回答:1

我正在将许多记录插入到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中输入的每个OwnerOwner相关联?

ruby-on-rails ruby mongodb mongoid
1个回答
0
投票

这是驱动程序级别的操作:

@store.products.collection.insert_many(products)

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

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

products = [{id: "123", store_id: 1},{id: "345", store_id: 2}]
© www.soinside.com 2019 - 2024. All rights reserved.