我使用以下格式对api进行了各种GET http调用:
/api/posts?userId=3
但是,它并不是通过userId列过滤帖子,而是只返回所有的帖子,而不管这些帖子的userId是什么。
这个语法在我以前的项目中也起了作用,并记录了这里。(他们给出的例子是GET /purchase?amount=99.99)。
我看到的问题并不是通过这种默认路径来解决查询语言的,所以我很难找到帮助。有什么可能会出错的猜测吗?
更新:
什么能像预期的那样工作
req.query正在通过策略进行设置和读取(例如,?userId=3由req.param("userId")找到)/api/posts?userId=3&populate=userId填充userId字段(但仍然返回所有用户的所有帖子)?id=5)过滤,并按预期只返回一条记录Posts.find({userId: 3}))工作。不像预期的那样工作的
?userId=6)?name=test)where (如&where={"userId":1})进行过滤发布于 2018-01-25 23:42:57
结果,我在策略中的每个查询中都添加了一个"where“子句(例如,"where: {"status": "active"}})。查询字符串中有一个"where“自动凌驾于其他护林员之上,因此没有看到其他任何东西。(准确地说,如果你有where子句,其他标准就永远看不见)
出于某种原因,"where“也没有为Sails0.12.13设置搜索标准,因此我最终在sails中侵入了parseCriteria函数actionUtils,并使用了他们在v.1中的搜索标准,这对我很有用。
希望这对未来的任何人都有帮助
https://stackoverflow.com/questions/48409344
复制相似问题