我需要查询一个对象,它的一个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=userConfig 把 userConfig 的对象也一起查出来。然后就可以在自己的代码里用 userConfig.open === false 来筛选 book 了。
book
include=userConfig
userConfig
userConfig.open === false
自己构造 REST API 比较复杂,建议使用我们的 SDK 来做这件事:https://leancloud.cn/docs/leanstorage_guide-js.html#hash645521220
另外如果一个人可以拥有很多本书,一本书可以被很多人拥有的话,属于多对多模型,有更好的数据设计模式,可以把 open 放到关联表中,然后只查关联表,一层查询就可以解决问题了:https://leancloud.cn/docs/relation-guide.html#hash-186882703
可是这样的话,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 限制,导致我查询出来的数据不对。我采用你第一条回复的建议吧,但这个也有个问题,就是上拉加载的时候有可能会返回空的数据。不过我这边可以优化,但会麻烦一些。