romejiang
romejiang
  • 发布:2024-12-07 16:52
  • 更新:2024-12-09 16:30
  • 阅读:43

enum类型的字段不能where查询吗?

分类:uniCloud

使用uni-cms插件时,想实现显示某个栏目下所有文章列表。

查询uni-cms-articles数据库 where="\"category_id\" == \"67503daa79b80d64ad28780f\""

发现无法查询到任何数据。后发现category_id是一种特殊类型 enum,难道这字段无法查询吗?翻遍了文档都没有提到,这不是一个很常见的需求吗?

"category_id": {
"bsonType": "string",
"title": "分类",
"description": "分类 id,参考uni-news-categories表",
"foreignKey": "uni-cms-categories._id",
"enum": {
"collection": "uni-cms-categories",
"field": "name as text, _id as value"
}
},

2024-12-07 16:52 负责人:无 分享
已邀请:
romejiang

romejiang (作者) - 原点就是起点

最后还是要靠自己猜解决问题,七八年了,每次用uniapp都生一肚子气。要不是客户要求,真不愿意用这破玩意。

unicloud-db 组件的 collection 支持多表,但是多表时 unicloud-db 组件的 where 属性就失效了。文档里从没有提到过。

解决办法是将 collection 变量转为 computed 。然后在 collection 里用 db.collection(articleDBName).where('xxx') 方法设置 where 子句才能生效。

这里省略一万字各种问候

要回复问题请先登录注册