MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Solicitação REST AJAX para mongoDB


Essa funcionalidade é suportada como parte da Interface REST simples (somente leitura) mas para fazer solicitações de domínio cruzado, o --jsonp caso contrário, você estará sujeito à política de mesma origem problema, pois o endereço IP e a porta de onde você está fazendo a solicitação não correspondem ao endereço IP e à porta em que o mongoDB está sendo executado.

Inicie o mongoDB com mongod.exe --rest --jsonp (além de quaisquer outras opções que você possa ter).

A página de exemplo a seguir pode ser veiculada por meio de um servidor da Web (por exemplo, Apache HTTP Server ) ou simplesmente salvo localmente e carregado no navegador como um arquivo . A solicitação é para informações sobre um dbCollection chamado andyb , que criei primeiro no mongoDB com:
db.createCollection('andyb');

HTML
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>mongoDB AJAX demo</title>
  <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
  <script type='text/javascript'>//<![CDATA[
  $(function(){
    $.ajax({
      url: 'http://localhost:28017/local/andyb',
      type: 'get',
      dataType: 'jsonp',
      jsonp: 'jsonp', // mongod is expecting the parameter name to be called "jsonp"
      success: function (data) {
        console.log('success', data);
      },
      error: function (XMLHttpRequest, textStatus, errorThrown) {
        console.log('error', errorThrown);
      }
    });
  });//]]>
  </script>
</head>
<body>
</body>
</html>

Muitos navegadores suportam CORS now, que é uma maneira alternativa (mais moderna) de facilitar recursos entre domínios.