MongoDB - 如何建立这种关系?
MongoDB - How to make this relation?
我有以下 collections:
客户
地址
现在假设,我希望能够向一个客户端添加多个地址,而地址 collection 仅存储地址名称。因此,地址参考或街道号码等所有其他信息都应存储在客户端嵌入数据中。
我是这样想的:
客户collection的文档示例:
姓名:'Client Name'
标准化名称:'client name'
电子邮件:'email@email.com'
地址:[
{addressId:ObjectId('objectid'),number:6,default:true,reference:'next to supermarket'}
...
]
是公司:false
地址collection的文档示例:
(_id): ObjectId('objectid')
姓名:'Griffin Dr. New Windsor'
标准化名称:'griffin dr. new windsor'
状态:'NY'
国家:'US'
一切看起来都很好(如果我错了,如果这种方法有什么不好的地方,如果我需要改变一些东西,请纠正我)。但是现在,我正在创建一个过滤器(Angular2 和猫鼬作为 ODM),对客户进行排序,有没有办法按地址名称对我的客户进行排序?考虑到我有一个默认地址 属性?如果不是,如果我更改这些 collection 模型中的某些内容怎么样?我也在考虑将地址名称添加到 object 内部地址数组(客户端 collection),所以我可以按这样的方式排序: sort(client.address.name)...
还有一点是:我将我的地址分隔在一个新的 collection 中,因为我会给用户导入地址数据库的可能性,所以我需要一个没有客户端的地址列表附加到它。
虽然您想要为 collections 建模的方式没有任何问题,但如果您遵循 MongoDB 的文档 https://docs.mongodb.com/manual/tutorial/model-referenced-one-to-many-relationships-between-documents/
建议其易于嵌入文档以维护一对多关系。
您认为一个客户端可以关联多少个地址?
通过我上面粘贴的 link 只是几行,它相当直接,那里有很好的例子。看看这是否可以帮助您解决问题。
我有以下 collections:
客户 地址
现在假设,我希望能够向一个客户端添加多个地址,而地址 collection 仅存储地址名称。因此,地址参考或街道号码等所有其他信息都应存储在客户端嵌入数据中。
我是这样想的:
客户collection的文档示例:
姓名:'Client Name'
标准化名称:'client name'
电子邮件:'email@email.com'
地址:[ {addressId:ObjectId('objectid'),number:6,default:true,reference:'next to supermarket'} ... ]
是公司:false
地址collection的文档示例:
(_id): ObjectId('objectid')
姓名:'Griffin Dr. New Windsor'
标准化名称:'griffin dr. new windsor'
状态:'NY'
国家:'US'
一切看起来都很好(如果我错了,如果这种方法有什么不好的地方,如果我需要改变一些东西,请纠正我)。但是现在,我正在创建一个过滤器(Angular2 和猫鼬作为 ODM),对客户进行排序,有没有办法按地址名称对我的客户进行排序?考虑到我有一个默认地址 属性?如果不是,如果我更改这些 collection 模型中的某些内容怎么样?我也在考虑将地址名称添加到 object 内部地址数组(客户端 collection),所以我可以按这样的方式排序: sort(client.address.name)...
还有一点是:我将我的地址分隔在一个新的 collection 中,因为我会给用户导入地址数据库的可能性,所以我需要一个没有客户端的地址列表附加到它。
虽然您想要为 collections 建模的方式没有任何问题,但如果您遵循 MongoDB 的文档 https://docs.mongodb.com/manual/tutorial/model-referenced-one-to-many-relationships-between-documents/
建议其易于嵌入文档以维护一对多关系。
您认为一个客户端可以关联多少个地址? 通过我上面粘贴的 link 只是几行,它相当直接,那里有很好的例子。看看这是否可以帮助您解决问题。