【问题标题】:How to set a field value with same document id in mongoose如何在猫鼬中设置具有相同文档ID的字段值
【发布时间】:2022-01-25 14:50:15
【问题描述】:

我想在 mongoose 上创建一个字段值与文档 ID 相同的架构。

期望的输出:

{
 "_id": "61c75bf3b151c6c6854c83db",
 "password":"some password",
 "name":"some name",
 "linkId": "61c75bf3b151c6c6854c83db"
}

这里的文档 id 和 linkId 是一样的。创建新文档时如何做到这一点?这可能是多余的,但有可能吗?

【问题讨论】:

  • 我认为你可以创建一个objectID将它存储到一个js变量中,并在两个字段中使用这个变量作为值

标签: node.js mongodb mongoose


【解决方案1】:

您可以为save 方法使用pre-hook 中间件,当您插入任何文档时,它会将_id 字段克隆到linkId 字段中,

// SCHEMA
const SchemaObj = new mongoose.Schema(
    // your schema...
);

// PRE MIDDLEWARE
SchemaObj.pre('save', function (next) {
    this.linkId = this._id;
    next();
});

【讨论】:

    猜你喜欢
    • 2017-08-26
    • 2017-11-27
    • 2021-05-11
    • 1970-01-01
    • 2019-09-25
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多