繁体   English   中英

从 mongoose 中的数组中删除 object

[英]Delete object from array in mongoose

我有一个 mongoose Schmea,它看起来像这样:(已简化)

const refreshSchema = new mongoose.Schema({
    token: String,
    expiration: Date
})

const userSchema = new mongoose.Schema({
    email: String,
    refreshTokens: [refreshSchema],
})

我已经向数组 refreshTokens 添加了一些对象,现在我试图删除其中的一些

await User.update({email: this.email}, {$pull: { token }})
await User.updateOne({email: this.email}, {$pullAll: [{ token }]})

两者都不起作用,object 仍然存在于 refreshTokens 中。 我究竟做错了什么?

$pull运算符的形式是:

{ $pull: { <field1>: <value|condition>, <field2>: <value|condition>, ... } }

所以你的查询应该是:

await User.update({email: this.email}, {$pull: { refreshTokens: { token } }})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM