如何通过在第一个位置插入元素来更新数组

Myriam K.

我想通过在数组的第一个位置添加一个新元素来更新文档。

我实际上在做什么:

val updateRequest = myCollection.findOneAndUpdate(and(equal("site_id", new ObjectId(siteId)),and(equal("image_name", imageName))),
    addToSet("url_history", urlHistory))

结果 :

{
    "_id" : ObjectId("5e297ea0c7ede90a7ae7586e"),
    "image_name" : "test.jpg",
    "url_history" : [ 
        {
            "date" : ISODate("2020-02-08T10:43:47.127Z"),
            "url" : "No image url"
        },
        {
            "date" : ISODate("2020-02-11T10:43:47.127Z"),
            "url" : "test.jpg"
        }
    ]
}

预期结果:

{
    "_id" : ObjectId("5e297ea0c7ede90a7ae7586e"),
    "image_name" : "test.jpg",
    "url_history" : [ 
        {
            "date" : ISODate("2020-02-11T10:43:47.127Z"),
            "url" : "test.jpg"  
        },
        {
            "date" : ISODate("2020-02-08T10:43:47.127Z"),
            "url" : "No image url"
        }
    ]
}
Myriam K.

我终于找到了解决方案!

这里是 :

  val updateRequest = myCollection.findOneAndUpdate(and(equal("site_id", new ObjectId(siteId)),and(equal("image_name", imageName))),
  pushEach("url_history", PushOptions().position(0), urlHistory))

我使用了PushOptions

希望能帮助到你。

来源:https : //mongodb.github.io/mongo-scala-driver/2.6/scaladoc/org/mongodb/scala/model/Updates$.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

iOS和Swift:CLLocationManagerDelegate不更新第一个位置以外的位置坐标

更新时,Recyclerview位置更改为第一个位置

对整数数组进行排序,保持第一个位置不变

将元素移到数组中的第一个位置

在嵌套列表的第一个位置计数相同的元素

如何始终将元素放在第一个位置?

我想通过单击第一个和最后一个元素来实现卡的旋转

如何通过第一个元素对象键对数组中的数组进行分组

是否可以使用sas / sql在第一个位置插入列

如何通过使第一个插入位置保持不变来对列表中插入的其余元素进行排序?

通过使用Cut + Insert方法匹配第一个元素来对齐行

如何转换所有元组的第一个元素,然后在Python中移动一个位置?

检索表时,无法在表中的第一个位置获得第一个元素?

Onclick将元素移到第一个位置

jQuery,如何通过属性的第一个位置值选择元素

为什么在Quicksort中进行分区之前将枢轴元素移动到数组的第一个或最后一个位置?

将数组元素移动到第一个位置但保持顺序

查找数组中值的第一个/下一个位置

PHP 多维数组排序在第一个位置保留一个元素值

我的数组的第一个元素来自哪里,它是什么?

隐藏其他元素后将图像移动到第一个位置

插入新的 Firebase 数据后,RecycerView 始终重置回第一个位置

Python如何通过知道列表中列表的第一个元素来获取列表中列表的索引?

为什么元素在动画后回到第一个位置?

查找排序数组中元素的第一个和最后一个位置

如何将列表的第一个元素的值连接到下一个位置?- Python

如何使用打字稿将映射值存储到数组中的第一个位置?

如何使输出打印每三个相同数字的第一个位置?

bash使用sed在文件的第一个位置插入单词