0

我有一个场景,我希望能够从与某个查询匹配的 mongo 集合中的所有文档的数组字段中删除除第一个和最后一个(按数组中的位置)之外的所有元素。我尝试了以下仅保留第一个元素的命令:

db.collection.update(*query*,
{
  $push : {
     arrayField : {
       $each : [],
       $slice : 1,
       $slice : -1
     }
  }
},
{
  multi : true
})

不幸的是,我认为使用简单的更新不可能实现我想要实现的目标。

最终,我将通过使用 mongo java 驱动程序的 java 客户端应用程序来编排这个,我不想检索所有文档,适当地修改它们,然后保留更改。

有关将在服务器上运行的解决方案的任何想法?

4

0 回答 0