附件是我的数据库 struct .如何通过其id获取特定的saleOrder项目?

db

下面是我的查询,但它不起作用. 提前谢谢您.

const ref = collection(db, 'customers', customerId, 'saleOrders');
const q = query(ref, where('id', '==', saleOrderId));
const querySnapshot = await getDocs(q);

推荐答案

你是在质疑

collection(db, 'customers', customerId, 'saleOrders');

这就是:

  • Collection customers个,你有
  • 里面有一份customerId美元的文件,我想你应该有
  • A*subcollection在那里称为saleOrders,而你有don't

您不能使用这样的查询操作符来查询嵌套的映射字段.即使您可以,它也不会完成任何事情--因为FiRestore客户端SDK总是返回整个文档,而不是其字段的子集.

您有几个选项:

  • 最符合逻辑的方法是创建一个实际的saleOrders子集合,将ID作为顶级字段存储在其中,然后像您现在所做的那样查询该子集合.

  • 或者,您可以加载您现在拥有的完整文档,并在您的客户端代码中过滤销售订单.

Javascript相关问答推荐

为什么函数不使用以前函数返回的参数?

使用事件监听器在JavaScript中重新分配全局变量

功能和普通对象之间的原型污染

如何比较嵌套对象的更改并创建更改报告

不渲染具有HTML参数的React元素

一次仅播放一个音频

如何使用Echart 5.5.0创建箱形图

使用复选框在d3.js多折线图中添加或删除线条

未捕获错误:在注销后重定向到/login页面时找不到匹配的路由

在JavaScript中声明自定义内置元素不起作用

Snowflake JavaScript存储过程返回成功,尽管预期失败

如何在Obsidian dataview中创建进度条

如何在JavaScript文件中使用Json文件

在运行时使用Next JS App Router在服务器组件中运行自定义函数

如何在ASP.NET项目中使用Google Chart API JavaScript将二次轴线值格式化为百分比

禁用.js文件扩展名并从目录导入隐式根index.js时,找不到NodeJS导入模块

更新动态数据中对象或数组中的所有值字符串

Vaadin定制组件-保持对javascrip变量的访问

用于部分字符串的JavaScript数组搜索

在JS/TS中将复杂图形转换为数组或其他数据 struct