Mongodb 是否有必要在Mongo中将文档引用存储为ObjectId类型?
阅读mongo文档以对多对多关系进行建模,我发现它们对Mongodb 是否有必要在Mongo中将文档引用存储为ObjectId类型?,mongodb,Mongodb,阅读mongo文档以对多对多关系进行建模,我发现它们对\u id { _id: "oreilly", name: "O'Reilly Media", founded: 1980, location: "CA" } { _id: 123456789, title: "MongoDB: The Definitive Guide", author: [ "Kristina Chodorow", "Mike Dirolf" ], published_da
\u 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
值是有益的:
我发现当数据作为JSON在前端(Vue)和后端(NestJS/Node)之间来回传递时,必须在对象和字符串之间转换非常复杂,我想知道是否真的有必要考虑使用ObjectId
,因为它增加了相当多的复杂性
在执行聚合/$graphLookup时,将引用id存储为字符串是否有任何区别?我的意思是将此引用本身存储为ObjectId还是完全不必要?对
\u id
值的唯一要求是它们必须是唯一的,因为\u id
始终由MongoDB自动索引,并且该索引是唯一的
ObjectID的目的是允许客户端生成一个ID,该ID保证在写入同一集合的大量客户端中是唯一的。如果您有更好的唯一ID,我们鼓励您使用它,因为它可以为您保存索引。您不需要将该值强制转换为ObjectID。与其他类型(如整数、小数等)一样,它也可以在clear中使用。您引用的问题的答案已经回答了您的问题。我不确定这是否重要,但我相信另一个问题与_id本身有关。我想知道是否也需要将引用存储为ObjectId,或者基本上是一条总括规则,即每个ObjectId都应该存储为ObjectId,而不是字符串。