在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