Qiu*_*ang 9 mongoose mongodb node.js
我无法弄清楚 mongo ObjectID 和 ObjectId 之间的区别。文档说ObjectId,但是当我阅读代码时,我看到
import { ObjectID } from 'bson';
Run Code Online (Sandbox Code Playgroud)
让事情更加混乱的是猫鼬文档和代码。猫鼬还说 ObjectId http://mongoosejs.com/docs/api.html#types-objectid-js。但是当我阅读代码时,我看到了
// mongodb.ObjectID does not allow mongoose.Types.ObjectId(id). This is
// commonly used in mongoose and is found in an example in the docs:
// http://mongoosejs.com/docs/api.html#aggregate_Aggregate
// constructor exposes static methods of mongodb.ObjectID and ObjectId(id)
type ObjectIdConstructor = typeof mongodb.ObjectID & {
(s?: string | number): mongodb.ObjectID;
}
Run Code Online (Sandbox Code Playgroud)
那么ObjectID、ObjectId和mongoose ObjectId到底有什么区别呢?
我发现还有另一个 SO 在谈论这个 BSON::ObjectId vs Mongo::ObjectID
那里的链接虽然已经死了,但并没有涉及猫鼬。所以我希望我的问题不会被标记为重复。
小智 0
Mongo ObjectID 是一个唯一的 12 字节标识符,可以由 MongoDB 生成作为主键。
ObjectID 是一个唯一的非空整数字段,用于唯一标识表中的行
在 Mongoose 中,ObjectID 与 Mongo ObjectID 相同,并引用另一个集合中的对象