微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在mongodb douments中更新文档数组?蒸气4,MongoKitten

如何解决如何在mongodb douments中更新文档数组?蒸气4,MongoKitten

我有一个MongoDB集合,该集合存储国家/地区,每个国家/地区都有一个区域数组,每个地区都有一个碎片数组,每个碎片都有扇区。这是代表此设置的结构。

struct Country: Codable,Hashable{
    var name: String
    var description: String?
    var imageUrl: String?
    var regions: [Region]
}
struct Region: Codable,Hashable {
    var name: String
    var descripton: String
    var imageUrl: String
    var crags: [Crag]?
}
struct Crag: Codable,Hashable {
    var name: String
    var description: String
    var imageUrl: String
    var sectors: [Sector]?
}
struct Sector:Codable,Hashable {
    var name: String
    var description: String
    var imageUrl: String
}

我正在使用Vapor 4和mongokitten libray后端,并希望能够将项目添加到各种数组中,例如,我想在一个区域的crags数组中添加碎片。需要将其添加一个特定的国家/地区,然后将其添加到该国家/地区的一系列区域中。

这些是我尝试过的一些选项。


countryCol.updateOne(where: ["name":country],to: ["$addToSet":["regions.$[region].crags":doc],"arrayFilters":["region.name":region]]

countryCol.updateOne(where: ["name":country,"regions.$" : region],to: ["$addToSet":["crags":doc]])

有人能指出我正确的方向吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?