我有一个场景,我希望能够从匹配某个查询的mongo集合中的所有文档中的数组字段中删除除第一个和最后一个(在数组中的位置)之外的所有元素。我尝试了以下只保留第一个元素的命令:
db.collection.update(*query*,
{
$push : {
arrayField : {
$each : [],
$slice : 1,
$slice : -1
}
}
},
{
multi : true
})
不幸的是,我不认为使用简单的更新我想要实现的目标。
最终我将使用mongo java驱动程序使用java客户端应用程序来编排这个,我不想检索所有文档,适当地修改它们然后保留更改。
有关将在服务器上运行的解决方案的任何想法吗?