如何构建db.seeds以便为MongoDB提供数据,尤其是在包含嵌入文档时?
我在尝试播放一个错误结构的db.seeds文件时遇到了以下错误:
无法将类ClassName的对象序列化为BSON。
答案 0 :(得分:1)
首先创建一个'new'嵌套对象,例如address,具有属性street和city,并将其设置为等于变量。然后创建父对象,在本例中为具有属性地址的用户,并将您在上面创建的变量分配给它。由于它是嵌套对象,因此需要将变量包装在数组[]中。这样做会使其易于阅读,特别是如果你有很多嵌套对象。引用嵌套对象时,请确保排除冒号后的任何空格,否则将出错。
a = Address.new(street: 'Any_Street', city: 'Any_City')
User.create(address:[a])
这将使用嵌套在用户对象中的地址对象为mongoDB提供种子。
答案 1 :(得分:0)
Parent.create(title: 'foo', children: [
Child.create(title: 'bar', date: Time.utc(2011,10,13)),
Child.create(...),
Child.create(...)
])