我的搜索建议我可以使用findoNeanDupdate
,但是我对它的测试显示它是按照它所说的顺序执行的,所以它的“find”部分返回更新之前找到的记录。
> db.demo.insert({ id: 1, data: "abc" })
WriteResult({ "nInserted" : 1 })
> db.demo.findOneAndUpdate( { id: 1}, { $set: { data: "xyz" } } )
{ "_id" : ObjectId("5ae82c1d53d7ae2de3ffbcea"), "id" : 1, "data" : "abc" }
更新后如何查找记录?
来自mongodb文档:
db.collection.findOneAndUpdate(
filter,
update,
{
projection: <document>,
sort: <document>,
maxTimeMS: <number>,
upsert: <boolean>,
returnNewDocument: <boolean>,
collation: <document>,
arrayFilters: [ <filterdocument1>, ... ]
}
)
注意:returnNewDocument应该是控制接收新文档还是旧文档的选项。
编辑:如果您使用mongoose,请选中此问题
更新记录 V2.0.0 加入寄存器运行模式,可大幅提升热更内数值计算性能 执行性能整体提升,传统非寄存器模式执行效率也得到一定幅度提升 修正热更内finnaly块在一些情况下不正确的bug,连带修复了yield return和async/await的一些异常情况 修正值对类型绑定后的数组进行操作时的异常 修正热更内Enum一些情况下Equals结果错误的bug 修正跨域继承接口时的一些异常情况 修
版本更新记录 2016.09.10 1) 底层组件-新增时间处理集合 2016.09.5 1) 底层组件-优化防刷 2) 底层组件-错误监控 2) 底层组件-优化通过类名绑定相关事件 2016.08.25 1) 底层组件-新增百度统计组件 2016.08.11 1) 底层组件-优化udb定制登录,增加QQ登录 2) 活动组件-新增完成任务组件 2016.08.9 1) 活动组件-新增防刷组件
查找特定记录并更新
更新记录命令用于修改特定记录的值。 是更新特定字段值的基本命令。 以下语句是命令的基本语法。 以下是有关上述语法中选项的详细信息。 - 定义要更新的字段。 - 将指定的字段值增加给定的值。 - 在收集字段中添加新项目。 - 从收集字段中移除一个项目。 - 在地图字段中输入条目。 - 用JSON文档内容替换记录内容。 - 将记录内容与JSON文档合并。 - 指定如何锁定加载和更新之间的记录。有两个选
1.2到1.3的变化 功能新增 创建应用新增功能 新增日志设置,可以把对日志的各个输出源进行开关设置。 应用的日志新增输出到fds的功能,可以把应用日志导入到生态链公司自己的dfs中 一个应用现在可以设置多个内部服务端口,应用支持多端口了 提供HTTPS的外部服务时,可以设置白名单限制IP访问 提供HTTPS的外部服务时,增加accesslog选项,可以选择收集该域名的acccesslog日志到s
从v1.5版本开始建立起严格的版本更新记录。目前平均迭代时间为每半年一个大版本,每2-4周一个小版本。 建议使用的PHP版本 7.2 [最新版] 7.3 [最新版] 7.4 [最新版] 建议使用的Swoole版本 v4.5.x [抢鲜体验] v4.4.x [最新稳定版] v1.10.x [老用户专属版] !> 1.x分支已进入特性锁定期,不再开发新功能,仅修复BUG 2.x、3.x 已废弃 4.x