1. 程式人生 > 其它 >「SequoiaDB巨杉資料庫」upsert()概述2

「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()獲取錯誤資訊碼。錯誤資訊物件包括詳細結果資訊。

點選巨杉資料庫文件中心瞭解更多資訊