alafafa
alafafa
  • 发布:2024-05-19 20:23
  • 更新:2024-05-19 20:34
  • 阅读:154

uniCloud.database的 where 除了接受一个对象外能接受一个数组吗

分类:uniCloud

假如我的客户表是这样子的
[
{
"name": "客户张三",
"note_name": "大客户",
"level": 1,
"age": 28
}
]

如果我想查询客户级别是 1 、同时年龄是 28、又同时姓名或备注名种包含"客户"两个字,查询条件应该怎么写呢?

用 JQL 是比较容易实现的,但是我想用传统方式操作数据库,官方文档的《用传统方式操作数据库》章节里关于 where() 查询部分没有讲的太明白 where() 到底接受一个什么样的参数,是可以接受一个参数还是多个参数,给出的例子里都是采用一个对象作为参数的,像我这种即有 and 又有 or 的查询应该怎么实现呢?

2024-05-19 20:23 负责人:无 分享
已邀请:
alafafa

alafafa (作者)

uniCloud.database() 这个封装是完全兼容 mongodb 的查询语法的呢还是 dcloud 公司自创的,如果是 dcloud 公司自创的那么它开源吗?如果它不开源而文档又写的不全,遇到解决不了的问题应该去哪里查找资料呢?

alafafa

alafafa (作者)

添加查询条件 collection.where() 小节里有这样一段描述:

支付宝云中,使用where查询时,如果传入的参数是一个对象,将按照字段的值进行相等匹配,包含字段顺序。

给出的示例是这样的:

let res = await db.collection('goods').where([{  
  category: 'computer',  
  "type.memory": 8  
}]).get()

这里使用的查询条件就是一个数组,我猜 collection.where() 的参数应该是能接受一个数组的,那么数组参数的使用方式说明在哪里呢?数组是只能有一个元素呢还是可以有多个元素?数组的元素之间是 and 的关系呢还是 or 的关系?

要回复问题请先登录注册