这是我的数据
{
_id: 'unknown',
playHistory: [
{
_playHistoryId: ObjectId('5f564893f6b66f3d94dbf19e')
},
{
_playHistoryId: ObjectId('5f564893f6b66f3d94dbf19f')
}
]
}
如果_playerHistoryId匹配,我试图删除playHistory数组中的一项。 例子
this.collection.updateOne(
{},
{
$pull: { playHistory: { _playHistoryId: new ObjectId('5f564893f6b66f3d94dbf19e') } }
}
)
它不会删除。 有什么建议吗? 谢谢
答案 0 :(得分:0)
updateOne()
更新数组字段时,需要定义查询条件,new
关键字,this.collection.updateOne(
{ "playHistory._playHistoryId": ObjectId('5f564893f6b66f3d94dbf19e') },
{
$pull: { playHistory: { _playHistoryId: ObjectId('5f564893f6b66f3d94dbf19e') } }
}
)