使用 mongoimport 工具通过 CSV 将包含以下行的 CSV 导入 mongodb:
object_1_id,field1,field2
52db7f026956b996a0000001,apples,oranges
52db7f026956b996a0000001,pears,plums
这些字段被导入到集合Object2
中。
导入后,通过控制台确认行存在。
#<Object2 _id: 52e0713417bcabcb4d09ad12, _type: nil, field1: "apples", field2: "oranges", object_1_id: "52db7f026956b996a0000001">
#<Object2 _id: 52e0713517bcabcb4d09ad76, _type: nil, field1: "pears", field2: "plums", object_1_id: "52db7f026956b996a0000001">
Object2
可以Object1
通过以下方式访问object_1_id
:
> o = Object2.first
#<Object2 _id: 52e0713417bcabcb4d09ad12, _type: nil, field1: "apples", field2: "oranges", object_1_id: "52db7f026956b996a0000001">
> o1 = o.object_1
#<Object1 _id: "52db7f026956b996a0000001", other_fields: "text and stuff">
但Object1
看不到任何Object2
使用 mongoimport 导入的行。它可以看到通过控制台或其他方式创建的所有行:
> o1.object_2s.count
10
> o1.object_2s.find("52e0713417bcabcb4d09ad12")
Mongoid::Errors::DocumentNotFound:
Document not found for class Object2 with id(s) 52e0713417bcabcb4d09ad12.
TL;DRObject1
似乎无法识别通过 mongoimport 导入的子模型,尽管子模型正确存储了父 ID 并能够识别其父模型。