node.js - mongodb / nodejs:findandmodify方法不起作用
问题描述
我有以下 json 数据,想根据条件更新值
{
"_id" : ObjectId("5fce2d4c7b2ea2e79ercvju4"),
"userId" : 1,
"token": "jwt_token_value",
"isActive" : 0,
"__v" : 0
}
{
"_id" : ObjectId("5fce2d4c7b2ea2e79ercvjk0"),
"userId" : 1,
"token": "jwt_token_value",
"isActive" : 0,
"__v" : 0
}
{
"_id" : ObjectId("5fd0d45tjd82a02dd0f17fc4"),
"userId" : 1,
"token": "jwt_token_value",
"isActive" : 1,
"__v" : 0
}
我已经管理了如下的事情。
let update = await UserDetails.findAndModify(
{ userId: 1, token: token },
[],
{$set: { isActive: 0 }},
{ new: true }
);
=> 此查询应将最后一个 json 集合键更新isActive
为 1。但它不会以任何方式更新值。我做错了什么?调试也不会给我带来任何错误。
解决方案
您可以包含查询标识符以指定每个部分的操作,如下所示:
let update = await UserDetails.findAndModify(
query: { userId: 1, token: token },
update: {$set: { isActive: 0 }},
upsert: true
);
推荐阅读
- python - 子进程 cd & then call 命令不起作用,终端可以
- excel - 1004 对象“_Worksheet”的方法“范围”未能引用另一个工作表
- python - Python 3 的导入似乎无法正常工作
- c++ - 正确实现二维向量种群
- bind - 如何在 ionic 4 中绑定离子按钮的背景颜色
- sql - ASP.NET 登录和注册在 Visual Studio 中有效,但在发布到 IIS 时无效
- python - Tensorflow:压缩两个不同形状的张量的第一维
- sql - HQL 查询中不需要的隐式内部联接
- java - Transactional Producer vs Just Idempotent Producer Java (Exception OutOfOrderSequenceException)
- anaconda - Anaconda 返回错误“系统找不到指定的文件”