「SequoiaDB巨杉資料庫」upsert()概述2
阿新 • • 發佈:2021-02-01
options選項
Note:
引數
hint
的用法與find()的相同。當
cond
引數在集合中匹配不到記錄時,upsert 會生成一條記錄插入到集合中。記錄生成規則為:首先從 cond 引數中取出 $et 和 $all 操作符對應的鍵值對,沒有的時候生成空記錄。然後使用 rule 規則對其做更新操作,最後加入 setOnInsert 中的鍵值對。目前分割槽集合上,不支援更新分割槽鍵。如果
KeepShardingKey
為 true,並且更新規則中帶有分割槽鍵欄位,將會報錯-178。
返回值
-
成功返回詳細結果資訊(BSONObj 物件),結構如下:
{ UpdatedNum : <INT64> 成功更新的記錄數,包括匹配但未發生資料變化的記錄, ModifiedNum : <INT64> 成功更新且發生資料變化的記錄數, InsertedNum : <INT32> 成功插入的記錄數,僅在 upsert 下生效 }
出錯拋異常,並輸出錯誤資訊,可以通過getLastErrMsg()獲取錯誤資訊或通過getLastError()獲取錯誤資訊碼。錯誤資訊物件包括詳細結果資訊。
點選巨杉資料庫文件中心瞭解更多資訊