【发布时间】:2020-05-26 23:11:43
【问题描述】:
阅读用于建模多对多关系的 mongo 文档,我看到他们正在为 _id 使用简单的字符串
{
_id: "oreilly",
name: "O'Reilly Media",
founded: 1980,
location: "CA"
}
{
_id: 123456789,
title: "MongoDB: The Definitive Guide",
author: [ "Kristina Chodorow", "Mike Dirolf" ],
published_date: ISODate("2010-09-24"),
pages: 216,
language: "English",
publisher_id: "oreilly"
}
我认为根据这个问题使用实际的 ObjectId 值是有益的:Difference between storing an ObjectId and its string form, in MongoDB
我发现必须在对象和字符串之间进行转换很复杂,因为这些数据在前端 (Vue) 和后端 (NestJS/Node) 之间作为 JSON 来回传递,我想知道是否有任何真正的必要关注使用ObjectId,因为它增加了相当多的复杂性。
在执行聚合/$graphLookup 时,将引用 id 存储为字符串有什么不同吗?我是打算将此引用本身实际存储为 ObjectId 还是完全没有必要?
【问题讨论】:
-
您引用的问题的答案已经回答了您的问题。
-
我不确定这是否重要,但我相信另一个问题与 _id 本身有关。我想知道是否还需要将引用存储为 ObjectId,或者它基本上是一个笼统的规则,即每个 ObjectId 都应该始终这样存储,而不是字符串。
标签: mongodb