当您在完全指定要使用的语法的编程语言中使用 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.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)