微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mongodb - 存储与 id 的关系

如何解决mongodb - 存储与 id 的关系

我有一个非常基本(可能很愚蠢)的问题。
假设我有产品系列,产品列表如下。

db.products.findOne
{
    "_id" : ObjectId("60db1b449f9a43695c4bb461"),"name" : "product 1"
}

在将category存储为关系时,它应该如何存储? (请检查category_id)

方法

db.products.findOne
{
    "_id" : ObjectId("60db1b449f9a43695c4bb461"),"name" : "product 1","category_id" : ObjectId("608f981fcfeaa757ca69b4b5")
}

方法

db.products.findOne
{
    "_id" : ObjectId("60db1b449f9a43695c4bb461"),"category_id" : "608f981fcfeaa757ca69b4b5"
}

解决方法

这取决于。

嵌入为 ObjectId 类型如果: 你会根据这个key来执行$lookUp操作,那么最好把它嵌入为ObjectId类型。

我强烈建议将其嵌入为 ObjectId

嵌入为 string 类型如果: 您使用的驱动程序或应用程序不支持使用 ObjectId 类型。

在我工作的公司中,我们将关系嵌入为 ObjectId,尽管将数据传递给 REST API 很容易(因为不需要转换),但将字符串转换为 ObjectId 是一件很痛苦的事情,{{ 1}} 次操作。

请注意,在大多数语言中,您必须在将字符串转换为 ObjectId 时额外处理错误(因为 $lookUp 具有验证规则),而将 ObjectId 转换为 {{ 不存在此问题1}}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。