【发布时间】:2020-07-01 04:25:21
【问题描述】:
我在使用 mongoose 删除子文档时遇到问题。
我有这样的架构设置:
let baseSchema = new mongoose.Schema({
basename: String,
admins: [{
type: mongoose.Schema.Types.ObjectId,
ref: "User"
}]
})
Base.admins 由一组具有管理员权限的用户组成。我希望能够从该阵列中删除用户。 下面的代码从 Mongo 获取数据,但没有删除具有该 ID 的用户,它返回的数据与更新/拉取请求之前的数据相同。
await Base.findOneAndUpdate({ _id: baseId }, {$pull: {admins: { _id: userId }}}, { new: true });
我已确定 userId 是使用的对象类型
userId = mongoose.mongo.ObjectID(userId );
有人对如何从管理数组中删除用户然后将文档保存到数据库有任何建议吗?
【问题讨论】: