- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找使用 Spring Data 提供的 API 对 Mongo Collection 实现 upsert 操作的正确方法。
详细来说,我有以下用例。集合 collection
的架构如下所示:
{
_id: "some_id",
field1: "value1",
field2: "value2",
subdocument1: {
// A subdocument with some fields
},
subdocument2: {
// A subdocument with some other fields
}
}
字段 field1
和 field2
始终存在,但 subdocument1
和 subdocument2
将在不同时刻插入:一个在第一次插入期间,第二个在后续更新期间。
我看到 MongoTemplate
有和 upsert方法。使用这种方法,我必须构建自己的更新操作。
Query query = Query.query(Criteria.where("_id").is("some_id"));
Update.update("_id", "some_id")
.set("field1", "value1")
.set("field2", "value2")
.set("subdocument1", subdocumentObject);
mongoTemplate.upsert(query, update, Collection.class);
我不明白这是否是我正在寻找的东西以及是否有更好的方法。
最佳答案
我相信您正在寻找的是subdocument1
的$setOnInsert
。所以类似的东西应该适合你。
Query query = Query.query(Criteria.where("_id").is("some_id"));
Update update = Update.update("_id", "some_id")
.set("field1", "value1")
.set("field2", "value2")
.set("subdocument2", subdocumentObject2)
.setOnInsert("subdocument1", subdocumentObject1);
更多信息请点击 https://docs.mongodb.com/manual/reference/operator/update/setOnInsert/
关于java - Spring 数据蒙戈: upsert with various fields updated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43248469/
我有一组数据。当我选择筛选条件时,我想查询所有的数据,并将符合筛选条件的值显示在查询结果的前面。 例如 [ {color: 'blue', name: 'four'}, {color:
如果您有这样的集合。 user { name: String, email: String, information: String } 你会做类似的事情来获得所有 John 的有医生信息的列表
我想返回那些必须同时满足 AND 和 OR 条件的记录。 AND 条件检查该值是否与集合外的外部值匹配,然后我检查它是否与 OR 条件中的一个或两个匹配。 这是我使用 pymongo 的查询: cu
有什么方法可以获取 mongodb 中某个特定字段(比如 collectionA)的所有唯一值,并将其映射到 collectionB,同时保持如果 collectionA 获取另一个新条目,colle
我想知道查询 mongo db 中许多对象的最佳方法,其中每个对象都有一个附加的 _id 数组。我也想抓取引用的对象。对象的架构如下所示: var headlineSchema = new Schem
我使用 Passport 身份验证,提交并通过所有验证后,在 successRedirect 上,应用程序不会重定向到指定的路由,而是只是加载,一段时间后它崩溃了。我正在关注 Max S. 的 You
我有一个 spring-boot 应用程序,它的服务可以一次性处理和保存大约 100 个对象的列表。 一切看起来都很好,直到处理状态,但调用 MongoRepository 的 save 方法会抛出以
我对 mongo/mongoose 遇到的这个问题感到非常困惑。我本质上是试图获取产品数组,从数组中删除某个产品,然后使用省略所选产品的新数组更新购物图表。这是我正在处理的代码片段: const re
我们的对象是由用户通过表单传递信息构建的。我们可以成功地创建和发布对象,但我们无法删除它们。 我为此尝试了许多不同的路线/调用,但没有一个成功。 这是我们的 HTML 按钮,用于触发 Node 中的删
您好,我在推送新子文档之前检查子文档是否存在时遇到此问题。 var UserSchema = new Schema({ name : String, app_key
我有一个包含大约 100GB 数据和 $match 表达式中每个字段的 mongodb,我有一个索引(单字段索引)。 现在我尝试了 aggregate() 并将 $project 作为管道的第一部分编
我已经使用 Mongo 玩了大约一个星期了,但我仍然不知道如何使用 php 修改 Mongo 中的嵌套数组。 所以这是一个示例文档... array ( '_id' => new MongoId(
我有集合db.problems。每个文档都包含嵌套的 area 和 category 对象。文档示例: { _id: 1, text: 'Hello', area: {_id:
我从官网获取了mongo-c-driver,如下: $git https://github.com/mongodb/mongo-c-driver.git $cd mongo-c-driver $./a
我有这个配置 包中的位置 com.x.record.persistence.impl 我有一个组件需要来自 com.x.record.persistence.repo 的存储
这个问题已经有答案了: Does MongoDB's $in clause guarantee order (11 个回答) 已关闭 8 年前。 我有两个集合users和items,user.prof
当代码无法连接到 MongoD 实例时,我正在绞尽脑汁地试图让 pymongo 出错。似乎无论我做什么,“pymongo.errors.ConnectionFailure”都不起作用。我已经在本地主机
我正在尝试使用 Mongo C 驱动程序将以下 MongoDB JSON 命令转换为有效的 BSON: db.test.update({ "_id" : ObjectId("5624200d4b
我想将数据导入到几个集合中。我就是这样做的 $> mongoimport -d myDB -c myCollection --file file.json 问题是这只有在集合为空时才有效,
我有一个 mongodb 集合数据,如下所示;我想根据 EmployeedID(即 0001)对专业、代码和年龄字段进行分组。 { "_id" : ObjectId("54d0512191a4da77
我是一名优秀的程序员,十分优秀!