sql >> Database teknologi >  >> NoSQL >> MongoDB

REST AJAX-anmodning til mongoDB

Denne funktionalitet understøttes som en del af Simpel (skrivebeskyttet) REST-grænseflade men for at foretage anmodninger på tværs af domæner --jsonp ellers vil du være underlagt Samme oprindelsespolitik problem, da IP-adressen og porten, som du sender anmodningen fra, ikke stemmer overens med IP-adressen og porten, som mongoDB kører på.

Start mongoDB med mongod.exe --rest --jsonp (plus eventuelle andre muligheder, du måtte have).

Følgende eksempelside kan betjenes via en webserver (for eksempel Apache HTTP-server ) eller blot gemt lokalt og indlæst i browseren som en fil . Anmodningen er for information om en dbCollection kaldet andyb , som jeg oprettede i mongoDB først med:

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>

Mange browsere understøtter CORS nu, hvilket er en alternativ (mere moderne) måde at lette ressourcer på tværs af domæner.



  1. Geospatial indeksering Ingen kortlægning fundet for felt med YAML

  2. Hvordan får man værdi fra indlejret objekt i mongoose?

  3. Sådan bruges UNSUBSCRIBE-kommandoen i Redis 2.6.11

  4. Flet dokumenter med dets indlejrede arrays og deres indlejrede arrays