w-orm-postgresql 1.0.8 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/dist/w-orm-postgresql.umd.js +2 -2
- package/dist/w-orm-postgresql.umd.js.map +1 -1
- package/docs/WOrmPostgresql.html +34 -15
- package/docs/WOrmPostgresql.mjs.html +70 -22
- package/docs/index.html +1 -1
- package/g-basic.mjs +8 -8
- package/package.json +1 -1
- package/src/WOrmPostgresql.mjs +69 -21
- package/test/api-postgresql.test.mjs +347 -12
package/docs/WOrmPostgresql.html
CHANGED
|
@@ -672,13 +672,17 @@
|
|
|
672
672
|
<dl class="details">
|
|
673
673
|
|
|
674
674
|
<dt class="tag-description">Description:</dt>
|
|
675
|
-
<dd class="tag-description"><ul class="dummy"><li><p>刪除數據</p
|
|
675
|
+
<dd class="tag-description"><ul class="dummy"><li><p>刪除數據</p>
|
|
676
|
+
<p>回傳陣列恆與輸入等長,各筆之n與nDeleted皆為主鍵命中筆數,值為0或1,未命中為0且屬正常結果。
|
|
677
|
+
判斷某筆是否真的被刪除一律以nDeleted為準。
|
|
678
|
+
未帶有效time者為該筆之輸入問題,回ok:0與err且不送查詢,不中斷其餘筆數,
|
|
679
|
+
以此與[主鍵未命中]之ok:1區辨。</p></li></ul></dd>
|
|
676
680
|
|
|
677
681
|
|
|
678
682
|
|
|
679
683
|
<dt class="tag-source">Source:</dt>
|
|
680
684
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
681
|
-
<a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#
|
|
685
|
+
<a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line977">line 977</a>
|
|
682
686
|
</li></ul></dd>
|
|
683
687
|
|
|
684
688
|
|
|
@@ -796,7 +800,7 @@
|
|
|
796
800
|
|
|
797
801
|
|
|
798
802
|
<div class="param-desc">
|
|
799
|
-
<p>回傳Promise,resolve
|
|
803
|
+
<p>回傳Promise,resolve回傳刪除結果陣列[{n,nDeleted,ok}],reject回傳錯誤訊息</p>
|
|
800
804
|
</div>
|
|
801
805
|
|
|
802
806
|
|
|
@@ -833,13 +837,15 @@
|
|
|
833
837
|
<dl class="details">
|
|
834
838
|
|
|
835
839
|
<dt class="tag-description">Description:</dt>
|
|
836
|
-
<dd class="tag-description"><ul class="dummy"><li><p>刪除全部數據,需與del分開,避免未傳數據導致直接刪除全表</p
|
|
840
|
+
<dd class="tag-description"><ul class="dummy"><li><p>刪除全部數據,需與del分開,避免未傳數據導致直接刪除全表</p>
|
|
841
|
+
<p>n與nDeleted皆為實際刪除筆數,不取全表筆數。find未給或為空物件時刪除全部數據,
|
|
842
|
+
條件無命中時回{n:0,nDeleted:0,ok:1},不視為錯誤。</p></li></ul></dd>
|
|
837
843
|
|
|
838
844
|
|
|
839
845
|
|
|
840
846
|
<dt class="tag-source">Source:</dt>
|
|
841
847
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
842
|
-
<a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#
|
|
848
|
+
<a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line1127">line 1127</a>
|
|
843
849
|
</li></ul></dd>
|
|
844
850
|
|
|
845
851
|
|
|
@@ -974,7 +980,7 @@
|
|
|
974
980
|
|
|
975
981
|
|
|
976
982
|
<div class="param-desc">
|
|
977
|
-
<p>回傳Promise,resolve
|
|
983
|
+
<p>回傳Promise,resolve回傳刪除結果物件{n,nDeleted,ok},reject回傳錯誤訊息</p>
|
|
978
984
|
</div>
|
|
979
985
|
|
|
980
986
|
|
|
@@ -1011,13 +1017,16 @@
|
|
|
1011
1017
|
<dl class="details">
|
|
1012
1018
|
|
|
1013
1019
|
<dt class="tag-description">Description:</dt>
|
|
1014
|
-
<dd class="tag-description"><ul class="dummy"><li><p
|
|
1020
|
+
<dd class="tag-description"><ul class="dummy"><li><p>插入數據,僅於主鍵time不存在時寫入,已存在者跳過且不覆寫</p>
|
|
1021
|
+
<p>n為輸入筆數,即本次嘗試插入之基準;nInserted為實際插入筆數,全數已存在而nInserted為0屬正常結果,
|
|
1022
|
+
不視為錯誤。同批含重複time時僅首筆計入nInserted。
|
|
1023
|
+
因主鍵time承載觀測時間之業務意義,未帶有效time時不自動補值,一律以reject回報。</p></li></ul></dd>
|
|
1015
1024
|
|
|
1016
1025
|
|
|
1017
1026
|
|
|
1018
1027
|
<dt class="tag-source">Source:</dt>
|
|
1019
1028
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
1020
|
-
<a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#
|
|
1029
|
+
<a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line497">line 497</a>
|
|
1021
1030
|
</li></ul></dd>
|
|
1022
1031
|
|
|
1023
1032
|
|
|
@@ -1135,7 +1144,7 @@
|
|
|
1135
1144
|
|
|
1136
1145
|
|
|
1137
1146
|
<div class="param-desc">
|
|
1138
|
-
<p>回傳Promise,resolve
|
|
1147
|
+
<p>回傳Promise,resolve回傳插入結果物件{n,nInserted,ok},reject回傳錯誤訊息</p>
|
|
1139
1148
|
</div>
|
|
1140
1149
|
|
|
1141
1150
|
|
|
@@ -1172,13 +1181,20 @@
|
|
|
1172
1181
|
<dl class="details">
|
|
1173
1182
|
|
|
1174
1183
|
<dt class="tag-description">Description:</dt>
|
|
1175
|
-
<dd class="tag-description"><ul class="dummy"><li><p
|
|
1184
|
+
<dd class="tag-description"><ul class="dummy"><li><p>儲存數據,以主鍵time為準更新既有數據,未給之欄位保留</p>
|
|
1185
|
+
<p>回傳陣列恆與輸入等長,輸入單一物件亦回傳長度1之陣列。
|
|
1186
|
+
各筆之n為主鍵命中筆數,值為0或1,命中(不論內容有無變更)或經插入而產生皆為1;
|
|
1187
|
+
nInserted與nModified恆同時出現,無對應行為時填0。
|
|
1188
|
+
[內容相同]之判定基準為待寫入物件合併進現值後與現值相同,非待寫入物件與現值全等,
|
|
1189
|
+
故只給部份欄位且該些欄位值皆與現值相同時,合併結果等於現值,nModified為0,
|
|
1190
|
+
令nModified忠實反映資料庫端是否真的寫入。
|
|
1191
|
+
因主鍵time承載觀測時間之業務意義,未帶有效time時不自動補值,一律以reject回報。</p></li></ul></dd>
|
|
1176
1192
|
|
|
1177
1193
|
|
|
1178
1194
|
|
|
1179
1195
|
<dt class="tag-source">Source:</dt>
|
|
1180
1196
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
1181
|
-
<a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#
|
|
1197
|
+
<a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line634">line 634</a>
|
|
1182
1198
|
</li></ul></dd>
|
|
1183
1199
|
|
|
1184
1200
|
|
|
@@ -1422,7 +1438,7 @@
|
|
|
1422
1438
|
|
|
1423
1439
|
|
|
1424
1440
|
<div class="param-desc">
|
|
1425
|
-
<p>回傳Promise,resolve
|
|
1441
|
+
<p>回傳Promise,resolve回傳儲存結果陣列[{n,nInserted,nModified,ok}],reject回傳錯誤訊息</p>
|
|
1426
1442
|
</div>
|
|
1427
1443
|
|
|
1428
1444
|
|
|
@@ -1677,13 +1693,16 @@
|
|
|
1677
1693
|
<dl class="details">
|
|
1678
1694
|
|
|
1679
1695
|
<dt class="tag-description">Description:</dt>
|
|
1680
|
-
<dd class="tag-description"><ul class="dummy"><li><p>由主鍵time查詢單筆數據,因直接由資料表主鍵索引取值,不需如select提取數據至前端再處理,故數據量大時效能較佳</p
|
|
1696
|
+
<dd class="tag-description"><ul class="dummy"><li><p>由主鍵time查詢單筆數據,因直接由資料表主鍵索引取值,不需如select提取數據至前端再處理,故數據量大時效能較佳</p>
|
|
1697
|
+
<p>函數名依主鍵欄位命名為selectByTime而不另掛selectById別名,因本套件之主鍵為具業務語義之time,
|
|
1698
|
+
與以無語義識別碼為主鍵者性質不同,該差異須由呼叫端知悉而非由別名掩蓋。
|
|
1699
|
+
主鍵未命中或主鍵值無效皆回傳null而不reject,命中之判定基準與insert、save、del內對既有數據之認定一致。</p></li></ul></dd>
|
|
1681
1700
|
|
|
1682
1701
|
|
|
1683
1702
|
|
|
1684
1703
|
<dt class="tag-source">Source:</dt>
|
|
1685
1704
|
<dd class="tag-source"><ul class="dummy"><li>
|
|
1686
|
-
<a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#
|
|
1705
|
+
<a href="WOrmPostgresql.mjs.html">WOrmPostgresql.mjs</a>, <a href="WOrmPostgresql.mjs.html#line381">line 381</a>
|
|
1687
1706
|
</li></ul></dd>
|
|
1688
1707
|
|
|
1689
1708
|
|
|
@@ -1843,7 +1862,7 @@
|
|
|
1843
1862
|
<br class="clear">
|
|
1844
1863
|
|
|
1845
1864
|
<footer>
|
|
1846
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026
|
|
1865
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026 22:57:35 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
1847
1866
|
</footer>
|
|
1848
1867
|
|
|
1849
1868
|
<script>prettyPrint();</script>
|
|
@@ -417,6 +417,10 @@ function WOrmPostgresql(opt = {}) {
|
|
|
417
417
|
/**
|
|
418
418
|
* 由主鍵time查詢單筆數據,因直接由資料表主鍵索引取值,不需如select提取數據至前端再處理,故數據量大時效能較佳
|
|
419
419
|
*
|
|
420
|
+
* 函數名依主鍵欄位命名為selectByTime而不另掛selectById別名,因本套件之主鍵為具業務語義之time,
|
|
421
|
+
* 與以無語義識別碼為主鍵者性質不同,該差異須由呼叫端知悉而非由別名掩蓋。
|
|
422
|
+
* 主鍵未命中或主鍵值無效皆回傳null而不reject,命中之判定基準與insert、save、del內對既有數據之認定一致。
|
|
423
|
+
*
|
|
420
424
|
* @memberOf WOrmPostgresql
|
|
421
425
|
* @param {String|Date} time 輸入主鍵time值,本套件以time欄位為主鍵
|
|
422
426
|
* @returns {Promise} 回傳Promise,resolve回傳數據物件,若無此time則回傳null,reject回傳錯誤訊息
|
|
@@ -527,11 +531,15 @@ function WOrmPostgresql(opt = {}) {
|
|
|
527
531
|
}
|
|
528
532
|
|
|
529
533
|
/**
|
|
530
|
-
*
|
|
534
|
+
* 插入數據,僅於主鍵time不存在時寫入,已存在者跳過且不覆寫
|
|
535
|
+
*
|
|
536
|
+
* n為輸入筆數,即本次嘗試插入之基準;nInserted為實際插入筆數,全數已存在而nInserted為0屬正常結果,
|
|
537
|
+
* 不視為錯誤。同批含重複time時僅首筆計入nInserted。
|
|
538
|
+
* 因主鍵time承載觀測時間之業務意義,未帶有效time時不自動補值,一律以reject回報。
|
|
531
539
|
*
|
|
532
540
|
* @memberOf WOrmPostgresql
|
|
533
541
|
* @param {Object|Array} data 輸入數據物件或陣列
|
|
534
|
-
* @returns {Promise} 回傳Promise,resolve
|
|
542
|
+
* @returns {Promise} 回傳Promise,resolve回傳插入結果物件{n,nInserted,ok},reject回傳錯誤訊息
|
|
535
543
|
*/
|
|
536
544
|
async function insert(data) {
|
|
537
545
|
let isErr = false
|
|
@@ -654,13 +662,21 @@ function WOrmPostgresql(opt = {}) {
|
|
|
654
662
|
}
|
|
655
663
|
|
|
656
664
|
/**
|
|
657
|
-
*
|
|
665
|
+
* 儲存數據,以主鍵time為準更新既有數據,未給之欄位保留
|
|
666
|
+
*
|
|
667
|
+
* 回傳陣列恆與輸入等長,輸入單一物件亦回傳長度1之陣列。
|
|
668
|
+
* 各筆之n為主鍵命中筆數,值為0或1,命中(不論內容有無變更)或經插入而產生皆為1;
|
|
669
|
+
* nInserted與nModified恆同時出現,無對應行為時填0。
|
|
670
|
+
* [內容相同]之判定基準為待寫入物件合併進現值後與現值相同,非待寫入物件與現值全等,
|
|
671
|
+
* 故只給部份欄位且該些欄位值皆與現值相同時,合併結果等於現值,nModified為0,
|
|
672
|
+
* 令nModified忠實反映資料庫端是否真的寫入。
|
|
673
|
+
* 因主鍵time承載觀測時間之業務意義,未帶有效time時不自動補值,一律以reject回報。
|
|
658
674
|
*
|
|
659
675
|
* @memberOf WOrmPostgresql
|
|
660
676
|
* @param {Object|Array} data 輸入數據物件或陣列
|
|
661
677
|
* @param {Object} [option={}] 輸入設定物件,預設為{}
|
|
662
678
|
* @param {boolean} [option.autoInsert=true] 輸入是否於儲存時發現原本無數據,則自動改以插入處理,預設為true
|
|
663
|
-
* @returns {Promise} 回傳Promise,resolve
|
|
679
|
+
* @returns {Promise} 回傳Promise,resolve回傳儲存結果陣列[{n,nInserted,nModified,ok}],reject回傳錯誤訊息
|
|
664
680
|
*/
|
|
665
681
|
async function save(data, option = {}) {
|
|
666
682
|
let isErr = false
|
|
@@ -760,16 +776,22 @@ function WOrmPostgresql(opt = {}) {
|
|
|
760
776
|
let _vt = omit(_v, 'time')
|
|
761
777
|
// console.log('_vt', _vt)
|
|
762
778
|
|
|
763
|
-
//vt
|
|
764
|
-
|
|
779
|
+
//vt, [內容相同]之判定基準為[待寫入物件合併進現值後與現值相同],
|
|
780
|
+
//非[待寫入物件與現值全等], 故只給部份欄位且該些欄位值皆與現值相同時視為相同而不寫入,
|
|
781
|
+
//合併採淺層覆蓋, 與後端以EXCLUDED整欄取代之寫入行為一致
|
|
782
|
+
let vt = {
|
|
783
|
+
..._vt,
|
|
784
|
+
...omit(v, 'time'),
|
|
785
|
+
}
|
|
765
786
|
// console.log('vt', vt)
|
|
766
787
|
|
|
767
|
-
if (isEqual(
|
|
788
|
+
if (isEqual(vt, _vt)) {
|
|
768
789
|
//相同時不更新
|
|
769
790
|
|
|
770
791
|
//rest
|
|
771
792
|
rest = {
|
|
772
793
|
n: 1,
|
|
794
|
+
nInserted: 0,
|
|
773
795
|
nModified: 0,
|
|
774
796
|
ok: 1,
|
|
775
797
|
}
|
|
@@ -788,6 +810,7 @@ function WOrmPostgresql(opt = {}) {
|
|
|
788
810
|
//rest
|
|
789
811
|
rest = {
|
|
790
812
|
n: 0,
|
|
813
|
+
nInserted: 0,
|
|
791
814
|
nModified: 0,
|
|
792
815
|
ok: 1,
|
|
793
816
|
}
|
|
@@ -838,18 +861,20 @@ function WOrmPostgresql(opt = {}) {
|
|
|
838
861
|
//rest
|
|
839
862
|
rest = {
|
|
840
863
|
n: 1,
|
|
864
|
+
nInserted: 0,
|
|
841
865
|
nModified: 0,
|
|
842
866
|
ok: 1,
|
|
843
867
|
}
|
|
844
868
|
|
|
845
869
|
}
|
|
846
870
|
else if (get(rows, '0.inserted') === true) {
|
|
847
|
-
|
|
871
|
+
//原不存在而插入
|
|
848
872
|
|
|
849
873
|
//rest
|
|
850
874
|
rest = {
|
|
851
875
|
n: 1,
|
|
852
876
|
nInserted: 1,
|
|
877
|
+
nModified: 0,
|
|
853
878
|
ok: 1,
|
|
854
879
|
}
|
|
855
880
|
// console.log('之前不存在且可自動插入', rest, v)
|
|
@@ -861,6 +886,7 @@ function WOrmPostgresql(opt = {}) {
|
|
|
861
886
|
//rest
|
|
862
887
|
rest = {
|
|
863
888
|
n: 1,
|
|
889
|
+
nInserted: 0,
|
|
864
890
|
nModified: 1,
|
|
865
891
|
ok: 1,
|
|
866
892
|
}
|
|
@@ -875,6 +901,7 @@ function WOrmPostgresql(opt = {}) {
|
|
|
875
901
|
rest = {
|
|
876
902
|
n: 1,
|
|
877
903
|
nInserted: 0,
|
|
904
|
+
nModified: 0,
|
|
878
905
|
ok: 0,
|
|
879
906
|
err: err.message,
|
|
880
907
|
}
|
|
@@ -910,6 +937,7 @@ function WOrmPostgresql(opt = {}) {
|
|
|
910
937
|
//rest
|
|
911
938
|
rest = {
|
|
912
939
|
n: 1,
|
|
940
|
+
nInserted: 0,
|
|
913
941
|
nModified: 1,
|
|
914
942
|
ok: 1,
|
|
915
943
|
}
|
|
@@ -922,6 +950,7 @@ function WOrmPostgresql(opt = {}) {
|
|
|
922
950
|
//rest
|
|
923
951
|
rest = {
|
|
924
952
|
n: 0,
|
|
953
|
+
nInserted: 0,
|
|
925
954
|
nModified: 0,
|
|
926
955
|
ok: 1,
|
|
927
956
|
}
|
|
@@ -934,6 +963,7 @@ function WOrmPostgresql(opt = {}) {
|
|
|
934
963
|
//rest
|
|
935
964
|
rest = {
|
|
936
965
|
n: 1,
|
|
966
|
+
nInserted: 0,
|
|
937
967
|
nModified: 0,
|
|
938
968
|
ok: 0,
|
|
939
969
|
err: err.message,
|
|
@@ -982,9 +1012,14 @@ function WOrmPostgresql(opt = {}) {
|
|
|
982
1012
|
/**
|
|
983
1013
|
* 刪除數據
|
|
984
1014
|
*
|
|
1015
|
+
* 回傳陣列恆與輸入等長,各筆之n與nDeleted皆為主鍵命中筆數,值為0或1,未命中為0且屬正常結果。
|
|
1016
|
+
* 判斷某筆是否真的被刪除一律以nDeleted為準。
|
|
1017
|
+
* 未帶有效time者為該筆之輸入問題,回ok:0與err且不送查詢,不中斷其餘筆數,
|
|
1018
|
+
* 以此與[主鍵未命中]之ok:1區辨。
|
|
1019
|
+
*
|
|
985
1020
|
* @memberOf WOrmPostgresql
|
|
986
1021
|
* @param {Object|Array} data 輸入數據物件或陣列
|
|
987
|
-
* @returns {Promise} 回傳Promise,resolve
|
|
1022
|
+
* @returns {Promise} 回傳Promise,resolve回傳刪除結果陣列[{n,nDeleted,ok}],reject回傳錯誤訊息
|
|
988
1023
|
*/
|
|
989
1024
|
async function del(data) {
|
|
990
1025
|
let isErr = false
|
|
@@ -1030,39 +1065,49 @@ function WOrmPostgresql(opt = {}) {
|
|
|
1030
1065
|
data = [data]
|
|
1031
1066
|
}
|
|
1032
1067
|
|
|
1033
|
-
//check time
|
|
1034
|
-
data = map(data, function(v, k) {
|
|
1035
|
-
if (!isDate(v.time)) {
|
|
1036
|
-
throw new Error(`invalid data[${k}].time[${v.time}]`)
|
|
1037
|
-
}
|
|
1038
|
-
return v
|
|
1039
|
-
})
|
|
1040
|
-
|
|
1041
1068
|
//pmSeries
|
|
1042
1069
|
res = await pmSeries(data, async(v) => {
|
|
1043
1070
|
|
|
1044
1071
|
//rest
|
|
1045
1072
|
let rest = null
|
|
1046
1073
|
|
|
1074
|
+
//time
|
|
1075
|
+
let time = get(v, 'time')
|
|
1076
|
+
|
|
1077
|
+
//check time, 未帶有效主鍵者不補值亦不送查詢,
|
|
1078
|
+
//因mongo-sql會將無效值轉為null而誤中其他數據, 故直接視為該筆無法處理
|
|
1079
|
+
if (!isDate(time)) {
|
|
1080
|
+
|
|
1081
|
+
//rest
|
|
1082
|
+
rest = {
|
|
1083
|
+
n: 0,
|
|
1084
|
+
nDeleted: 0,
|
|
1085
|
+
ok: 0,
|
|
1086
|
+
err: `invalid time[${time}]`,
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
return rest
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1047
1092
|
//mr
|
|
1048
1093
|
let mr = mongoSql.sql({
|
|
1049
1094
|
type: 'delete',
|
|
1050
1095
|
table: cl,
|
|
1051
1096
|
where: {
|
|
1052
|
-
time
|
|
1097
|
+
time,
|
|
1053
1098
|
},
|
|
1054
1099
|
})
|
|
1055
1100
|
// console.log('mr', mr)
|
|
1056
1101
|
// console.log('mr.query', mr.query)
|
|
1057
1102
|
// console.log('mr.values', mr.values)
|
|
1058
1103
|
|
|
1059
|
-
//del
|
|
1104
|
+
//del, n與nDeleted皆為主鍵命中筆數, 未命中為0
|
|
1060
1105
|
await client.query(mr.query, mr.values)
|
|
1061
1106
|
.then((r) => {
|
|
1062
1107
|
|
|
1063
1108
|
//res
|
|
1064
1109
|
rest = {
|
|
1065
|
-
n:
|
|
1110
|
+
n: r.rowCount,
|
|
1066
1111
|
nDeleted: r.rowCount,
|
|
1067
1112
|
ok: 1,
|
|
1068
1113
|
}
|
|
@@ -1119,9 +1164,12 @@ function WOrmPostgresql(opt = {}) {
|
|
|
1119
1164
|
/**
|
|
1120
1165
|
* 刪除全部數據,需與del分開,避免未傳數據導致直接刪除全表
|
|
1121
1166
|
*
|
|
1167
|
+
* n與nDeleted皆為實際刪除筆數,不取全表筆數。find未給或為空物件時刪除全部數據,
|
|
1168
|
+
* 條件無命中時回{n:0,nDeleted:0,ok:1},不視為錯誤。
|
|
1169
|
+
*
|
|
1122
1170
|
* @memberOf WOrmPostgresql
|
|
1123
1171
|
* @param {Object} [find={}] 輸入刪除條件物件
|
|
1124
|
-
* @returns {Promise} 回傳Promise,resolve
|
|
1172
|
+
* @returns {Promise} 回傳Promise,resolve回傳刪除結果物件{n,nDeleted,ok},reject回傳錯誤訊息
|
|
1125
1173
|
*/
|
|
1126
1174
|
async function delAll(find = {}) {
|
|
1127
1175
|
let isErr = false
|
|
@@ -1252,7 +1300,7 @@ export default WOrmPostgresql
|
|
|
1252
1300
|
<br class="clear">
|
|
1253
1301
|
|
|
1254
1302
|
<footer>
|
|
1255
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026
|
|
1303
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026 22:57:35 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
1256
1304
|
</footer>
|
|
1257
1305
|
|
|
1258
1306
|
<script>prettyPrint();</script>
|
package/docs/index.html
CHANGED
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
<br class="clear">
|
|
72
72
|
|
|
73
73
|
<footer>
|
|
74
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026
|
|
74
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Sun Aug 16 2026 22:57:35 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
75
75
|
</footer>
|
|
76
76
|
|
|
77
77
|
<script>prettyPrint();</script>
|
package/g-basic.mjs
CHANGED
|
@@ -300,11 +300,11 @@ test()
|
|
|
300
300
|
// insert then { n: 13, nInserted: 13, ok: 1 }
|
|
301
301
|
// change save
|
|
302
302
|
// save then [
|
|
303
|
-
// { n: 1, nModified: 0, ok: 1 },
|
|
304
|
-
// { n: 1, nModified: 1, ok: 1 },
|
|
305
|
-
// { n: 1, nModified: 1, ok: 1 },
|
|
306
|
-
// { n: 1, nModified: 1, ok: 1 },
|
|
307
|
-
// { n: 0, nModified: 0, ok: 1 }
|
|
303
|
+
// { n: 1, nInserted: 0, nModified: 0, ok: 1 },
|
|
304
|
+
// { n: 1, nInserted: 0, nModified: 1, ok: 1 },
|
|
305
|
+
// { n: 1, nInserted: 0, nModified: 1, ok: 1 },
|
|
306
|
+
// { n: 1, nInserted: 0, nModified: 1, ok: 1 },
|
|
307
|
+
// { n: 0, nInserted: 0, nModified: 0, ok: 1 }
|
|
308
308
|
// ]
|
|
309
309
|
// select all [
|
|
310
310
|
// { time: 2025-01-01T00:00:00.000Z, name: 'peter', value: 123 },
|
|
@@ -370,9 +370,9 @@ test()
|
|
|
370
370
|
// }
|
|
371
371
|
// ]
|
|
372
372
|
// change save
|
|
373
|
-
// save then [ { n: 1, nInserted: 1, ok: 1 } ]
|
|
373
|
+
// save then [ { n: 1, nInserted: 1, nModified: 0, ok: 1 } ]
|
|
374
374
|
// change del
|
|
375
|
-
// del then [ { n:
|
|
375
|
+
// del then [ { n: 0, nDeleted: 0, ok: 1 } ]
|
|
376
376
|
// change del
|
|
377
377
|
// del then [
|
|
378
378
|
// { n: 1, nDeleted: 1, ok: 1 },
|
|
@@ -407,7 +407,7 @@ test()
|
|
|
407
407
|
// { time: 2025-01-01T00:01:00.000Z, name: 'rosemary', value: 123.456 },
|
|
408
408
|
// { time: 2025-01-01T00:02:00.000Z, name: 'kettle', value: 456 }
|
|
409
409
|
// ]
|
|
410
|
-
// save (invalidate cache) then [ { n: 1, nModified: 1, ok: 1 } ]
|
|
410
|
+
// save (invalidate cache) then [ { n: 1, nInserted: 0, nModified: 1, ok: 1 } ]
|
|
411
411
|
// select all 3rd (reload after save) [
|
|
412
412
|
// { time: 2025-01-01T00:00:00.000Z, name: 'peter', value: 123 },
|
|
413
413
|
// {
|