为了账号安全,请及时绑定邮箱和手机立即绑定

根据提供的任何文档,Item.Read 不起作用

根据提供的任何文档,Item.Read 不起作用

缥缈止盈 2023-07-06 17:46:37
我已阅读了有关 CosmosDB Read Item 方法提供的所有类型的文档。但这似乎不起作用。const item = container.item(id, undefined);console.log("Read item '" + item.id + "'");const { resource: readDoc } = await item.read();console.log("item with id found: '", readDoc);我传递的ID是“1”,集合中有一条id为“1”的记录。它总是返回为未定义。有人已经知道这是如何工作的吗?这是我引用的文档。(按 ID 读取项目:Item.read) https://learn.microsoft.com/en-us/azure/cosmos-db/sql-api-nodejs-samples
查看完整描述

2 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

看来您传递了错误的密钥item("id","key")。当您undifined作为此方法的键传递时,这意味着您没有像此屏幕截图一样定义 id 为“1”的文档的分区键值。

//img1.sycdn.imooc.com//64a68da1000161dd06500212.jpg

我猜您的 id 为“1”的文档具有分区键值,因此 Cosmos DB 无法找到 id 为“1”并且没有分区键值的文档。如果是这样,您需要将分区键值传递给item("id","key").


例如,我有一个如下所示的文档,我的代码应该是这样的:


const item = container.item("1", "dog");

console.log("Read item '" + item.id + "'");

const { resource: readDoc } = await item.read();

console.log("item with id found: '", readDoc);

//img1.sycdn.imooc.com//64a68dae0001375206530209.jpg

查看完整回答
反对 回复 2023-07-06
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

Azure 文档是错误的(或者至少令人难以置信的混乱)。

两个字符串必须相同。

例如

Cosmos 数据库条目:

{ "id": "123456", "name": "John Smith" }

分区键:/id

const { resource } = await container
  .item("123456", "123456")
  .read();

或者

const { resource } = await container
      .item("123456", "123456")
      .delete();

希望有帮助。


查看完整回答
反对 回复 2023-07-06
  • 2 回答
  • 0 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信