Moralis 批量查詢

2022-05-12 09:18 更新

如果您需要一次插入、更新或刪除多行,建議使用批量查詢。

批量查詢快速高效,但它們不會(huì)觸發(fā)任何 ?LiveQuery ?事件或任何觸發(fā)器。

因?yàn)榕坎樵儧]有開銷,所以它們非??觳⑶抑苯釉跀?shù)據(jù)庫上執(zhí)行。

何時(shí)使用:

如果您需要在不觸發(fā)實(shí)時(shí)查詢或觸發(fā)器的情況下對數(shù)據(jù)庫運(yùn)行快速查詢。

何時(shí)不使用:

如果您需要實(shí)時(shí)查詢或觸發(fā)器作為這些查詢的結(jié)果工作。

批量寫入

將一個(gè)或多個(gè)對象插入到一個(gè)類中。

選項(xiàng):

  • ?className?:要在其中插入行的類名
  • ?rows?:要插入的行數(shù)組,每行需要有包含列數(shù)據(jù)的更新對象

// insert these 2 rows into the database 
let foodsToInsert = [{update: {"name" : "Apple", "color" : "green"},
                     {update: {"name" : "Orange", "color" : "orange"}]
                     
Moralis.bulkWrite("Food", foodsToInsert)

批量更新

為每個(gè)過濾器更新第一個(gè)找到的對象上的一個(gè)或多個(gè)列。

選項(xiàng):

  • ?className?:要在其中插入行的類名
  • ?filters?:要進(jìn)行的更新數(shù)組,每次更新都需要指定過濾器和更新對象。 前者指定選擇基于哪一列,后者指定要在選擇中更新哪一列。

注意:這個(gè)查詢總是期望過濾器每次更新都返回 1 行,如果返回多行,則只會(huì)更新第一行。

// update the first Food where name is Apple and set color to red 
// also update the first Food where name is Lemon and set color to yellow
let foodsToUpdate = [{filter: {"name" : "Apple"}, update:{ "color" : "red"}},
                     {filter: {"name" : "Lemon"}, update:{ "color" : "yellow"}}]
                     
Moralis.bulkUpdate("Food", foodsToUpdate)

批量更新(很多)

為每個(gè)過濾器更新所有找到的對象上的一列或多列。

選項(xiàng):

  • ?className?:要在其中插入行的類名
  • ?filters?:要進(jìn)行的更新數(shù)組,每次更新都需要指定過濾器和更新對象。 前者指定選擇基于哪一列,后者指定要在選擇中更新哪一列。

// update the all Food where name is Apple and set color to red 
// also update all Food where name is Lemon and set color to yellow
let foodsToUpdate = [{filter: {"name" : "Apple"}, update:{ "color" : "red"}},
                     {filter: {"name" : "Lemon"}, update:{ "color" : "yellow"}}]
                     
Moralis.bulkUpdateMany("Food", foodsToUpdate)

批量刪除

刪除每個(gè)過濾器的第一個(gè)找到的對象。

選項(xiàng):

  • ?className?:要在其中插入行的類名
  • ?filters?:要進(jìn)行的更新數(shù)組,每次更新都需要指定過濾器和更新對象。 前者指定選擇基于哪一列,后者指定要在選擇中更新哪一列。

注意:這個(gè)查詢總是希望過濾器每次更新都返回 1 行,如果返回多行,則只會(huì)刪除第一行。

// delete the first Food where name is Apple
// also delete the first Food where color is purple 
let foodsToDelete = [{filter: {"name" : "Apple"}},
                     {filter: {"color" : "purple"}}]
                     
Moralis.bulkDelete("Food", foodsToDelete)

批量刪除(很多)

刪除為每個(gè)過濾器找到的所有對象。

選項(xiàng):

  • ?className?:要在其中插入行的類名
  • ?filters?:要進(jìn)行的更新數(shù)組,每次更新都需要指定過濾器和更新對象。 前者指定選擇基于哪一列,后者指定要在選擇中更新哪一列。

// deletes all Food where name is Apple
// also delete all Food where color is purple 
let foodsToDelete = [{filter: {"name" : "Apple"}},
                     {filter: {"color" : "purple"}}]
                     
Moralis.bulkDeleteMany("Food", foodsToDelete)


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)