Javascript Cosmos DB查询在Data Explorer中工作,但在Node.js中不工作

Javascript Cosmos DB查询在Data Explorer中工作,但在Node.js中不工作,javascript,node.js,azure,azure-cosmosdb,azure-cosmosdb-sqlapi,Javascript,Node.js,Azure,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我试图使用Node.js对我的cosmos db运行以下查询 const querySpec = { query: "SELECT * FROM Users u WHERE u.id = @email", parameters: [ { name: "@email", value: "testuser@gmail.com" } ] }; const { result: results } =

我试图使用Node.js对我的cosmos db运行以下查询

const querySpec = {
    query: "SELECT * FROM Users u WHERE u.id = @email",
    parameters: [
        {
            name: "@email",
            value: "testuser@gmail.com"
        }
    ]
};

const { result: results } = client.database(databaseId).container(containerId).items.query(querySpec).toArray();
if (results.length == 0) {
    throw "No matching user";
} else if (results.length > 1) {
    throw "Account found";
}

const user = results[0];
console.log(user);
但是,我不断得到错误
TypeError:results是未定义的
。查询在数据资源管理器中工作正常
databaseId
containerId
打印使用console.log时所需的值


为什么会出现此错误?

我相信您之所以会出现此错误,是因为
query
是一种
async
方法,您没有等待它。您可以尝试更改以下代码行:

const { result: results } = client.database(databaseId).container(containerId).items.query(querySpec).toArray();
致:


看看这是否解决了这个问题。

我不得不将
query
放在
async
函数中,然后调用它,但这是有效的。非常感谢。
const { result: results } = await client.database(databaseId).container(containerId).items.query(querySpec).toArray();