gpt4 book ai didi

javascript - 何时在 Mongoose 中使用 new ObjectId ("string-id") 而不是 ObjectId ("string-id")?

转载 作者:可可西里 更新时间:2023-11-01 10:08:52 25 4
gpt4 key购买 nike

因为我想与我的代码(Node.js)保持一致

当我有一个查询并需要使用作为唯一对象的 id 值搜索某些内容时,执行它的最佳方法是什么?

User.findOne({id: new ObjectId("82jf20k2k...")}...

User.findOne({id: ObjectId("82jf20k2k...")}...

创建一个新实例并每次都用对象填充内存似乎是错误的。

使用 new ObjectId 的唯一合理时间是在为我将使用 ObjectId 的所有其他操作插入数据时?

最佳答案

检查 source code :

/**
* Create a new ObjectID instance
*
* @class
* @param {(string|number)} id Can be a 24 byte hex string, 12 byte binary string or a Number.
* @property {number} generationTime The generation time of this ObjectId instance
* @return {ObjectID} instance of ObjectID.
*/
var ObjectID = function ObjectID(id) {
// Duck-typing to support ObjectId from different npm packages
if (id instanceof ObjectID) return id;
if (!(this instanceof ObjectID)) return new ObjectID(id);

this._bsontype = 'ObjectID';

// more code

在我看来,做 newObjectId("82jf20k2k...") 是一样的,就好像它不是 ObjectID< 的实例一样 它将创建一个新实例并返回它。

关于javascript - 何时在 Mongoose 中使用 new ObjectId ("string-id") 而不是 ObjectId ("string-id")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53942597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com