MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Requête REST AJAX à mongoDB

Cette fonctionnalité est prise en charge dans le cadre de l'interface REST simple (en lecture seule) mais pour faire des requêtes inter-domaines, le --jsonp sinon, vous serez soumis à la Politique de même origine problème, car l'adresse IP et le port à partir desquels vous effectuez la demande ne correspondent pas à l'adresse IP et au port sur lesquels mongoDB s'exécute.

Démarrer mongoDB avec mongod.exe --rest --jsonp (ainsi que toutes les autres options que vous pourriez avoir).

L'exemple de page suivant peut être servi via un serveur Web (par exemple Apache HTTP Server ) ou simplement enregistré localement et chargé dans le navigateur en tant que fichier . La demande concerne des informations sur une dbCollection appelée andyb , que j'ai d'abord créé dans mongoDB avec :

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>

De nombreux navigateurs prennent en charge CORS maintenant qui est un moyen alternatif (plus moderne) de faciliter les ressources inter-domaines.