node.js - 为什么 FindOneAndUpdate 在使用 $in 时不能在猫鼬中工作
问题描述
我正在尝试运行以下查询来更新我的集合之一,但它不起作用
const result = await users.findOneAndUpdate({
participants: {
"$in": [participant.one, participant.two]
},
time:Date.now()
});
console.log(result, " result ")
我收到以下错误
Cast to [string] failed for value "[{"$in":["****","****"]}]" at path "participants"
解决方案
participants
是一个数组,所以你应该使用数组查询运算符。
如果要过滤participants
数组包含所有给定元素的文档,请使用
participants: {
"$all": [participant.one, participant.two]
},
推荐阅读
- php - 给定打破规则的最大堆优先级队列定义优先级
- reactjs - React Hook 表单 | 基于验证错误的 onBlur 逻辑
- ruby-on-rails - 图片未从公共/资产上传到页面,通过 Carrierwave 在 Rails 中出现连接错误
- javascript - 聚合 Mongo DB
- javascript - 尝试在 bottomSheet 上启动片段时应用程序崩溃
- c# - 将 XmlWriter 文件名保存到变量
- kubernetes - 在 Kubernetes 上部署 2 层应用程序。ClusterIP 和负载均衡器
- python - pandas:创建 n 个新列以包含最后 n 个值(滚动)
- django - "
":["此字段为必填项。"] 消息 Django REST 框架 - java - 如何将对象传递给 Thymeleaf 中的模态对话框?