我构建了一个应用程序,它将我的所有数据存储在MongoDB中,包含数千个条目。现在我想从HTML页面查询它。我已经能够通过单击按钮成功加载数据,但我不确定如何为它编写查询。在标准MySQL中,我可以从dbname做一些类似" SELECT *的内容,其中initials =" AA"和扇区=" ECHO" "这是数据库中的字段。我的对象中也有这些字段。我将如何编写查询以获得类似于上述MySQL语句的结果?
这是返回的对象数据数组的示例:
[{_id: {$oid: "58306ce77df6dc1268c87142"}, cjs: "ZV", comment: null, current: false, duration: 50,…},…]
[0 … 99]
0:{_id: {$oid: "58306ce77df6dc1268c87142"}, cjs: "ZV", comment: null, current: false, duration: 50,…}
_id:{$oid: "58306ce77df6dc1268c87142"}
cjs:"ZV"
comment:null
current:false
duration:50
duration_string:null
error:null
expires_at:"2021-10-04T00:41:34.000Z"
fde_id_final:"778152728"
fde_id_initial:"778134619"
function:"SAT.IN"
initials:"AA"
json_class:"SatTransaction"
name:"Al Albert"
ot:false
position:"RDR"
quality:null
satin:"2016-10-05T00:41:34.000Z"
satout:"2016-10-05T01:32:20.000Z"
sector:"ECHO"
shift_date:"2016-10-04T00:00:00.000Z"
shift_duration:508
shift_duration_string:null
shift_end:58
shift_start:990
trainee:false
1:{_id: {$oid: "58306ce77df6dc1268c87144"}, cjs: "FY", comment: null, current: false, duration: 51,…}
这是我的基本HTML,我使用按钮加载整个JSON文件:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.getJSON("http://maccdx170131:4567/api/v1/sat", function(result){
});
});
});
</script>
</head>
<body>
<button>Get JSON data</button>
<div></div>
</body>
</html>
感谢您提供任何帮助或建议!!
答案 0 :(得分:1)
我会创建一个可以处理查询的RESTful api。这些可以包含在标题中,也可以作为您网址末尾的查询参数:
api/v1/sat?dataItem1=12
必须对查询进行编码(为了便于说明,此处不显示)
然后我会从您的服务器代码中执行mongoDB查询,并将其返回给客户端,如此处的其他答案所示。
答案 1 :(得分:0)
要在服务器上执行查询,您可以使用MongoDB's $and query selector:
collection.find({
$and: [
{'initials': 'AA'},
{'sector': 'ECHO'}
]
})
如果查询是动态的,显然你必须传递AJAX请求中的参数。