「SequoiaDB巨杉数据库」upsert()概述2

options选项

Note:

  • 参数hint的用法与find()的相同。

  • 当 cond 参数在集合中匹配不到记录时,upsert 会生成一条记录插入到集合中。记录生成规则为:首先从 cond 参数中取出 $et 和 $all 操作符对应的键值对,没有的时候生成空记录。然后使用 rule 规则对其做更新操作,最后加入 setOnInsert 中的键值对。

  • 目前分区集合上,不支持更新分区键。如果 KeepShardingKey 为 true,并且更新规则中带有分区键字段,将会报错-178。

返回值

  • 成功返回详细结果信息(BSONObj 对象),结构如下:

    {
        UpdatedNum  : <INT64>  成功更新的记录数,包括匹配但未发生数据变化的记录,
        ModifiedNum : <INT64>  成功更新且发生数据变化的记录数,
        InsertedNum : <INT32>  成功插入的记录数,仅在 upsert 下生效
    }

    出错抛异常,并输出错误信息,可以通过getLastErrMsg()获取错误信息或通过getLastError()获取错误信息码。错误信息对象包括详细结果信息。

点击巨杉数据库文档中心了解更多信息

猜你喜欢

转载自blog.csdn.net/weixin_45890253/article/details/112983961