如何使用eve从同一个键请求多个值

时间:2019-07-09 01:52:58

标签: python json mongodb eve

我的mongodb集合<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css"> <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"> <style> .border { border: 3px solid #000 !important; } .warning-icon { font-size: 150px; } .warning-text { font-size: 50px; } </style> <div class="text-center"> <div class="text-center d-inline-block bg-warning p-1 rounded"> <div class="border p-4 rounded"> <h1 class="warning-icon"><i class="fas fa-exclamation-triangle"></i></h1> <p class="warning-text font-weight-bold">OUT OF<br> SERVICE</p> </div> </div> </div>上运行了一个eve应用程序。我正在尝试从相同的键中选择多个值的情况下进行响应,例如:

col10

我也尝试过:

http://127.0.0.1:4567/col10?where={"var0053":[1130,1113]}
## returns 0 objects

是否有一种方法可以从同一密钥请求服务器提供多个值?

2 个答案:

答案 0 :(得分:1)

如果您使用的是GET方法,则您的网址应如下所示:

 http://IP_ADDRESS:8080/test?list=1&list=2&list=3

检索:

String[] arrlist=request.getParameterValues('list');

您的数组将用分隔的值填充:

//["1","2","3"]

检索列表参数时,它不会被解析为数组,而是被解析为一系列字符串,稍后将被分组为一个数组。 这意味着即使您将其写成list[]=1&list[]=2&list[]=3list[=1&list[=2&list[=3list*=1&list*=2&list*=3list=1&list=2&list=3,无论您将其检索为以下内容,它始终会为您提供相同的答案

request.getParameterValues('list[]') //["1","2","3"]
request.getParameterValues('list[') //["1","2","3"]
request.getParameterValues('list*') //["1","2","3"]
request.getParameterValues('list')  //["1","2","3"]

答案 1 :(得分:1)

借助Eve,您可以使用mongodb语法进行查询,如下所示:

http://127.0.0.1:4567/col10?where={"var0053": {"$in": ["1130", "1113"]}}

文档在https://docs.python-eve.org/en/stable/features.html#filtering