ios - Firestore 的字段路径无效
问题描述
今天我的 Firestore 出现错误,因为我正在尝试获取包含禁止字符的路径。
REF_ROOT.document(currentUser.uid).collection("records").whereField(workoutName, isEqualTo: "Open 16.5 / 14.5").getDocuments
是否可以在斜杠(或实际上任何禁止字符)之前添加反斜杠或任何内容,以便继续此请求?
这是我的日志:
Invalid field path (Open 16.5 / 14.5). Paths must not contain '~', '*', '/', '[', or ']'
firebase::firestore::util::ObjcThrowHandler(firebase::firestore::util::ExceptionType, char const*, char const*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
解决方案
不要将路径与它们指向的字段数据混淆。
"Open 16.5 / 14.5"
是存储在 Firestore 字段中的完全合法的值。
您的查询是这样的
REF_ROOT.document(currentUser.uid).collection("records")
.whereField(workoutName, isEqualTo: "Open 16.5 / 14.5")
.getDocuments
这告诉我currentUser.uid
或者workoutName
包含无效字符,而且很可能是workoutName
.
尝试在调用之前将其打印出来,以查看控制台中打印的内容。
print(workoutName) //probably prints this: Open 16.5 / 14.5
REF_ROOT.document(currentUser.uid).collection("records")
.whereField(workoutName, isEqualTo: "Open 16.5 / 14.5")
.getDocuments
推荐阅读
- android - 有没有办法完全禁用 Android 应用程序中的软键盘?
- python - 我在 Jupyter Notebook 上用 plotly 创建了一个绘图,但是当我将它作为 html 文件下载时,绘图显示为空白,我该怎么办?
- powershell - 在没有用户迭代的情况下运行 powershell
- jenkins - 如何从 Jenkins 的 Bitbucket 源中排除分支
- javascript - DOM 节点不会在 if 条件下使用带有元素样式 Reactjs 的 useRef() 线夹进行更新
- ms-access - 在 Access 2013 中将两个报表合并为一个
- navbar - 自动换行在 react-bootstrap 导航栏中不起作用
- python - How to create a column with a count of rows between two values of another column in pandas
- r - 在 R 中为金字塔图格式化数据
- junit - JUnit5 - 并行执行@ParameterizedTest