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

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

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

我已经向数组renhTokens添加了一些对象,现在我正在try 删除其中的一些对象

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

这两种方法都不起作用,该对象仍然存在于刷新令牌中.我做错了什么?

推荐答案

$pull运算符的形式为:

{$Pull:{<;field1>;:<;Value|条件>;,<;field2>;:<;Value|条件>;,...}}

因此,您的查询应该是:

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

Javascript相关问答推荐

如何访问Json返回的ASP.NET Core 6中的导航图像属性

Spring boot JSON解析错误:意外字符错误

在Vite React库中添加子模块路径

给定一个凸多边形作为一组边,如何根据到最近边的距离填充里面的区域

我在我的Java代码中遇到了问题,代码的一部分看不到先前定义的对象

使用JQuery单击元素从新弹出窗口获取值

S文本内容和值不必要的不同

如何在Angular拖放组件中同步数组?

Puppeteer上每页的useProxy返回的不是函数/构造函数

如何在JAVASCRIPT中合并两组对象并返回一些键

MarkLogic-earch.suggest不返回任何值

在SHINY R中的嵌套模块中,不能使用Java代码

触发异步函数后不能显示数据

如何修复使用axios运行TSC index.ts时出现的错误?

如何修复错误&语法错误:不能在纯react 项目中JEST引发的模块&之外使用导入语句?

如何正确地在ComponentWillUnmount中卸载状态以避免内存泄漏?

表单数据中未定义的数组键

Plotly.js栏为x轴栏添加辅助文本

不允许在对象文本中注释掉的属性

如何判断字符串是否只包含特定字符串