【发布时间】:2017-12-04 21:36:23
【问题描述】:
我有一个数据库,其中包含来自两个独立系统/服务器的数据。第一个是在本地生成的[我开发并创建了这些数据](用户、活动日志、订单……)。第二个来自“产品提供商”[我只能从 API 读取访问权限] 这些对象由 MySQL 创建并以 JSON 格式发送。他们已经有一个“id”属性。
使用 NodeJS,我使用 request 通过“id”获取产品,然后使用 newProduct.save() 附加 _id 存储它。
在产品中,“id”是与我的数据库中的其他集合(例如 products_price)建立关系的必要条件,并访问动态端点,例如“products/:id/promos”。
请注意,产品不断在外部更新,我需要能够通过“id”而不是“_id”更新我的文档,因为外部服务器不知道“_id”。 [id 在集合级别上是唯一的,因为每个集合都是新的迭代]
对于我的第一个问题:我应该将“product.id”视为“常规”MongoDB 字段并使用聚合/查找来合并我的集合中的文档吗?或者我应该用 id 覆盖 ObjectID() 吗? (保存之前将“id”重命名为“_id”)
在某些时候,Orders(本地)和 Products(外部)需要形成一种关系,其中 Order_id 和 Product id(或 _id)存储在一起以便于检索。
在这种情况下我使用哪个 id?
【问题讨论】: