【问题标题】:How to use $addToSet in Mongoose with array of ObjectId?如何在 Mongoose 中使用 $addToSet 和 ObjectId 数组?
【发布时间】:2021-11-04 16:42:45
【问题描述】:

在 MongoDB 集合中,我只需要为文档的数组字段添加唯一 ID。我正在使用 Mongoose 的 findByIdAndUpdate。我可以将值作为 id 传递,还是需要在更新正文中将值作为 ObjectId() 传递。 应该是 1 还是 2?

1.

await User.findByIdAndUpdate(userId, { $addToSet: { roleIds: roleId } })
await User.findByIdAndUpdate(userId, { $addToSet: { roleIds: mongoose.Types.ObjectId(roleId) } })

架构如下:

const mongoose = require("mongoose");

const UserSchema = new mongoose.Schema({
    roleIds: [
        {
            type: mongoose.Schema.Types.ObjectId,
            ref: "Role",
        },
    ],
});

module.exports = mongoose.model("User", UserSchema);

【问题讨论】:

    标签: node.js database mongodb mongoose nosql


    【解决方案1】:

    你的架构是什么,如果你在架构中定义了 roleIds 元素,你必须使用1

    【讨论】:

    • 向问题添加了架构
    • 根据使用模式使用1
    猜你喜欢
    • 2016-11-04
    • 1970-01-01
    • 2012-05-21
    • 1970-01-01
    • 2021-03-03
    • 2016-02-08
    • 2015-05-02
    • 2019-12-09
    • 1970-01-01
    相关资源
    最近更新 更多