2017-01-29 3 views
0

Я создал приложение, которое хранит все мои данные в MongoDB с тысячами записей. Теперь я хочу запросить его с HTML-страницы. Я смог успешно загрузить данные нажатием кнопки, но я не уверен, как написать запрос для него. В стандартном MySQL я мог бы сделать что-то вроде «SELECT * from dbname, где initials =« AA »и sector =« 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> 

Спасибо за любую помощь или совет !!

+1

Возможный дубликат [Доступ/процесс (вложенные) объекты, массивы или JSON] (http://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json) – Teemu

+0

Что вы, процитировано не JSON. В JSON имена свойств должны быть в двойных кавычках для начала. –

+0

Вы правы - это не JSON. Это массив объектов. Я перепутал два моих проекта. Извините за путаницу. – user2843365

ответ

0

Для выполнения запроса на сервере вы можете использовать MongoDB's $and query selector:

collection.find({ 
    $and: [ 
    {'initials': 'AA'}, 
    {'sector': 'ECHO'} 
    ] 
}) 

Очевидно, что вы должны передать параметры в запросе AJAX, если запрос должен быть динамичным.

1

Я бы создал RESTful api, который может обрабатывать запросы. Они могут быть либо включен в заголовке или в качестве параметров запроса от конца вашего URL:

api/v1/sat?dataItem1=12 запрос должен быть закодирован (здесь и без того для простоты иллюстрации)

Тогда я сделал бы MongoDB запросы с вашего кода сервера и вернуть их клиенту, как указано в других ответах здесь.

Смежные вопросы