Node.js Mongoose清除文档中的整个数组元素
假设我有一张Node.js Mongoose清除文档中的整个数组元素,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,假设我有一张 { "_id": "3536463525325645", "name": "james", "friends": [ "jack", "john", "jeff", "michael" ] } 我想清除整个阵列,因此结果将是: { "_id": "3536463525325645", "name": "james", "friends": [ ] } 我尝试使用$pull,但没有效果。 有人有什么建议吗?你可以用一
{
"_id": "3536463525325645",
"name": "james",
"friends": [
"jack",
"john",
"jeff",
"michael"
]
}
我想清除整个阵列,因此结果将是:
{
"_id": "3536463525325645",
"name": "james",
"friends": [
]
}
我尝试使用$pull,但没有效果。
有人有什么建议吗?你可以用一句话来表达:
Person.update({name:"james"}, { $set: { friends: [] }}, function(err, affected){
console.log('affected: ', affected);
});
如果要删除所有元素,包括元素属性列表的键。 以下是mongoDB unset运算符的示例:
db.UM_PREAUTH_CASE.update(
{ 'Id' : 123},
{ $unset: { dataElements: ""} }
)
JSON如下所示:
{
"Id":123,
"dataElements" : [
{
"createdBy" : "Kishore Babu Diyyana",
"createdByUserId" : 2020
},
{
"createdBy" : "Diyyana Kishore",
"createdByUserId" : 2021
}
]
}
您的
$pull
查询是什么?您可以执行friends=new Array()
然后保存它。我认为这是最好的选择,如果你只想删除阵列中的所有内容,有没有办法使用async/await和update?