如何在 mongodb 的 findOneAndUpdate 中使用对象作为过滤器
Posted
技术标签:
【中文标题】如何在 mongodb 的 findOneAndUpdate 中使用对象作为过滤器【英文标题】:How to use object as filter in findOneAndUpdate in mongodb 【发布时间】:2021-12-19 11:30:43 【问题描述】:我想在 findOneAndUpdate 中使用 _id 对象作为过滤器:
"_id":
"playerId": "189583",
"tournamentId": "197831"
,
"playerName": "Afiridi",
"score": [],
"__v": 0
我试过了,但没用:
await Scorecard.findOneAndUpdate(
_id:
playerId: playerId,
tournamentId: tournamentId
,
$addToSet:
"score":
_id: matchID
);
//playerId and tournamentId are coming from above code, not listed
我正在使用猫鼬,但我们感谢任何形式的帮助。
【问题讨论】:
见Query on Nested Documents。 【参考方案1】:尝试点符号语法:
await Scorecard.findOneAndUpdate(
"_id.playerId": playerId,
"_id.tournamentId": tournamentId
,
$addToSet:
"score":
_id: matchID
);
【讨论】:
以上是关于如何在 mongodb 的 findOneAndUpdate 中使用对象作为过滤器的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB:如何在 3.6 mongoDb 版本中解析日期?