如何使用$addToSet在猫鼬与ObjectId数组?



在MongoDB集合中,我需要为文档的数组字段添加唯一的id。我正在使用猫鼬的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);
    

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

    最新更新