PDF (US Ltr) - 1.4Mb
PDF (A4) - 1.4Mb
當您在完全指定要使用語法的程式語言中使用 X DevAPI 時,例如,當透過 X DevAPI 會話執行 SQL 語句或使用任何 CRUD 操作時,只有在呼叫 execute()
函數時才會執行實際操作。例如
var result = mySession.sql('show databases').execute()
var result2 = myColl.find().execute()
上述 execute()
函數的呼叫會導致執行該操作並傳回 Result 物件。然後,將傳回的 Result 物件指派給變數,而該指派是最後執行的操作,不會傳回任何資料。此類操作也可以傳回 Result 物件,該物件用於處理從操作傳回的資訊。
或者,MySQL Shell 提供以下實用功能,使您可以更輕鬆地以互動方式使用 X DevAPI
自動執行 CRUD 和 SQL 操作。
自動處理結果。
為了實現此功能,MySQL Shell 會在您每次輸入語句時監控上次執行操作的結果。這些功能的組合使得使用 MySQL Shell 互動模式成為程式碼原型設計的理想選擇,因為操作會立即執行,並且會顯示其結果,而無需任何額外的程式碼。如需更多資訊,請參閱MySQL Shell 8.4.0。
如果 MySQL Shell 偵測到已傳回準備執行的 CRUD 操作,則會自動呼叫 execute()
函數。在 MySQL Shell 中重複上述範例並移除指派操作,顯示該操作會自動執行。
mysql-js> mySession.sql('show databases')
mysql-js> myColl.find()
MySQL Shell 會執行 SQL 操作,如上所述,一旦執行此操作,便會傳回 Result 物件。
如果 MySQL Shell 偵測到將要傳回 Result 物件,則會自動處理該物件,並以最佳格式列印結果資料。Result 物件有不同的類型,而且不同類型之間的格式會有所變化。
mysql-js> db.countryInfo.find().limit(1)
[
{
"GNP": 828,
"IndepYear": null,
"Name": "Aruba",
"_id": "ABW",
"demographics": {
"LifeExpectancy": 78.4000015258789,
"Population": 103000
},
"geography": {
"Continent": "North America",
"Region": "Caribbean",
"SurfaceArea": 193
},
"government": {
"GovernmentForm": "Nonmetropolitan Territory of The Netherlands",
"HeadOfState": "Beatrix"
}
}
]
1 document in set (0.00 sec)