我需要查询一个对象,它的一个point 对象 我需要进行约束
eg:
查询满足a.b.c = 2 的所有a 的对象

{where :{
 'b':{
    "$select": {
            "query": {
              "className": "b",
              "where": {
                c:2
              }
            },
            "key": "b"
          },
 }
}
}

我这么写,发现无法查询出来,请问要怎么写restful 的接口

b 为point type

您好,pointer 对象不支持 . 查询,您需要先将 b 查出来,然后再构造查 c 的请求。

比如 book.userConfig.open === false ,我去要查询的是 拥有者允许开放的book 的 list。也就查的是a

比如,我有一票日记,这个日记是否展示有个config ,根据这个config 的isOpen值来判断。 这个config 是pointer 类型

你好,这里可以你查询 book 的时候用 include=userConfiguserConfig 的对象也一起查出来。然后就可以在自己的代码里用 userConfig.open === false 来筛选 book 了。

自己构造 REST API 比较复杂,建议使用我们的 SDK 来做这件事:
https://leancloud.cn/docs/leanstorage_guide-js.html#hash6455212203

另外如果一个人可以拥有很多本书,一本书可以被很多人拥有的话,属于多对多模型,有更好的数据设计模式,可以把 open 放到关联表中,然后只查关联表,一层查询就可以解决问题了:
https://leancloud.cn/docs/relation-guide.html#hash-1868827032

可是这样的话,book的list limit skip 就没有办法控制固定个数了。

我的userconfig 应该就是中间表。用restful api 要怎么写查询book?使用$select 吗

如果 UserConfig 是中间表的话,它应该有到 Book 的指针。你应该在 UserConfig 以 user 和 open 为条件来查询,然后把结果里所对应的 Book 取出来就可以了。

那看来 我的 userconfig 就不是中间表了,我的userconfig 对应n多个book ,是一对多的关系。这种情况下 目前restful一次查询可以得到吗。

如图,config 是我给用户控制权限用的。config 并没有book 的指针。目前有什么好的方法,要用cql吗,不是很会,最好restful api 能支持,新版本上线,谢谢老大~~!!!

我试了这个,但是不行。 where={"config":{"$inQuery":{"where":{"open":true}},"className":"Config"}}}

inQuery 确实是用这个, 但是它也有limit 限制,导致我查询出来的数据不对。我采用你第一条回复的建议吧,但这个也有个问题,就是上拉加载的时候有可能会返回空的数据。不过我这边可以优化,但会麻烦一些。