Node.js mongodb中基于if-else条件的更新状态
没有其他解决方案Node.js mongodb中基于if-else条件的更新状态,node.js,mongodb,typescript,if-statement,mongodb-query,Node.js,Mongodb,Typescript,If Statement,Mongodb Query,没有其他解决方案 findOneAndUpdate( {"_id": ObjectId("5714ce0a4514ef3ef68677fd")}, $cond: { if: { $eq: [ "$isRequired", true ] }, then: { "status": "Done" }, else: { { "status": "Approved"
findOneAndUpdate( {"_id": ObjectId("5714ce0a4514ef3ef68677fd")}, $cond: { if: { $eq: [ "$isRequired", true ] }, then: { "status": "Done" }, else: { { "status": "Approved" } } )
基于isRequire的相同集合状态更新为true或false。首先,您的查询语法不正确,缺少查询对象后的{} 更新查询由以下内容组成:update{query},{update},并且您必须写入:update{query},update 此外,由于是聚合阶段,因此不能在更新查询中使用,但由于Mongo 4.2允许聚合阶段,因此您可以执行以下查询:
db.collection.update({
"_id": "5714ce0a4514ef3ef68677fd"
},
[
{
"$set": {
"status": {
"$cond": {
if: {
$eq: [
"$isRequired",
true
]
},
then: "Done",
else: "Approved"
}
}
}
}
])
具有假值和真值的示例Hi!欢迎来到StackOverflow。你能给我们提供更多关于问题是什么的细节,你尝试了什么,也许你的代码有更多的上下文吗?请结帐帮助你的同事。