mongo ObjectID,ObjectId& Mongoose ObjectId

时间:2017-09-05 02:18:54

标签: node.js mongodb mongoose

我无法弄清楚mongo ObjectID&的ObjectId。 该文件说ObjectId,但是当我阅读代码时,我看到了

import { ObjectID } from 'bson';

令猫咪更加困惑的是文件和文件。码。 猫鼬也说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;
}

那么ObjectID,ObjectId和mongoose ObjectId究竟有什么区别?

我发现有另外一个SO在谈论这个BSON::ObjectId vs Mongo::ObjectID

那里的链接虽然已经死了,但并没有采取猫鼬的方式。所以我希望我的问题不会被标记为重复。

1 个答案:

答案 0 :(得分:0)

Mongo ObjectID是一个唯一的12字节标识符,可以由MongoDB生成作为主键。

ObjectID是一个唯一的,不是null的整数字段,用于唯一标识表中的行

在Mongoose中,ObjectID与Mongo ObjectID相同,并且引用另一个集合中的对象