我需要将单据状态中的特定嵌套子单据字段更改为true或false,
我知道我的模式更加嵌套,但我没有其他选择
这是我的文档模型
{
"_id":"63b3b4024"
"name":"dev"
"email":"dev@gmail.com"
"image":"https://sgp1.digitaloceanspaces.com"
"tickets":[
{
"sid":"63b3f5768"
"eid":"63b3f5777"
user_name:"john"
event_name:"workshop"
status:false
_id:{
"$oid":"63b4178c4"
}
},
{
"sid":"63b3f5769"
"eid":"63b3f5778"
"user_name":"john"
"event_name":"workshop"
"status":false
"_id":{
"$oid":"63b4178c5"
}
{
"sid":"63b3f5770"
"eid":"63b3f5779"
"user_name":"john"
"event_name":"workshop"
"status":false
"_id":{
"$oid":"63b4178c6"
}
{
"sid":"63b3f5771"
"eid":"63b3f5780"
"user_name":"john"
"event_name":"workshop"
"status":false
"_id":{
"$oid":"63b4178c7"
}
""__v":0
}]
我需要更改tickests.status为true或false.如何检查此字段?
谁能告诉我找到这个的确切查询?
规格
- 节点:v14.17.3,
- Mongoose :“^6.6.5”,
- 蒙古b:阿特拉斯
2条答案
按热度按时间pdtvr36n1#
如果您需要更新特定滤波器的
status
,请使用findOneAndUpdate
:wlzqhblo2#
您可以使用arrayFilters来标识要更改其状态的票据,并使用以下更新方法:
在这里,您可以通过在arrayFilters中将id指定为ticket._id来标识所需的票据,并在$set中访问该票据。然后,您可以根据需要更改状态或任何其他字段。