如何在一个[原子]语句中使用Mongo实现这一点:

insert mytable set MyUniqueKey = ?, X = ? on duplicate key update Y = ?

当第一次执行此语句时,它将设置X值,但之后只更新Y值.

只有MyUniqueKey是唯一密钥的一部分,应该查找重复项.

推荐答案

我在mongodb用户组上问了这个问题,答案是这是不可能的,这是一个开放的issue.

Mongodb相关问答推荐

MongoDB 投影按数组中的字符串长度排序

Tableau 与 Mongo DB Atlas by MongoDB 的连接缓存问题

MongoDb聚合查询问题

随着时间的推移在 mongodb 中获得

DB 中的引用对象在 GraphQL 查询中返回 null

Meteor 和 Fibers/bindEnvironment() 是怎么回事?

使用 Spring Boot >= 2.0.1.RELEASE 将 ZonedDateTime 保存到 MongoDB 时出现 CodecConfigurationException

Mongoid 有 Map/Reduce 吗?

使用 MongoDb 处理迁移

GeoJSON 和 MongoDB:将点存储为 GeoJSON.Point 是否值得?

Mongo 可尾游标与 Redis 发布/订阅

在 MongoDB 中创建简短、唯一的对象 ID

mongodb启动错误

mongodb: UnknownError assertion src/mongo/db/server_options_helpers.cpp:355

无法使用命令写入模式错误,降级到兼容模式

使用 $in 进行不区分大小写的搜索

如何通过mongoose更新 mongodb 中的对象?

Mongoid 不在查询中

与 mongoose/node.js 共享数据库连接参数的最佳方式

将 FilterDefinition 转换为可以在 mongo shell 中运行的常规 json mongo 查询