我正在尝试使用Node.js对我的cosmos数据库运行以下查询。
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 is undefined
。该查询在数据浏览器中工作正常。如果使用console.log,databaseId
和containerId
会打印出所需的值。
为什么会出现此错误?
答案 0 :(得分:1)
我相信您收到此错误的原因是因为query
是async
方法,并且您没有等待它。您能否通过更改以下代码行来尝试:
const { result: results } = client.database(databaseId).container(containerId).items.query(querySpec).toArray();
收件人:
const { result: results } = await client.database(databaseId).container(containerId).items.query(querySpec).toArray();
看看是否可以解决问题。