Esta funcionalidad se admite como parte de la Interfaz REST simple (solo lectura) pero para realizar solicitudes entre dominios, el --jsonp
de lo contrario, estará sujeto a la Política del mismo origen
problema, ya que la dirección IP y el puerto desde el que realiza la solicitud no coinciden con la dirección IP y el puerto en el que se ejecuta mongoDB.
Iniciar mongoDB con mongod.exe --rest --jsonp
(más cualquier otra opción que pueda tener).
La siguiente página de ejemplo se puede servir a través de un servidor web (por ejemplo, Servidor HTTP Apache ) o simplemente guardado localmente y cargado en el navegador como un archivo . La solicitud es para obtener información sobre un dbCollection llamado andyb , que primero creé en mongoDB con:
db.createCollection('andyb');
<!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>
Muchos navegadores admiten CORS ahora, que es una forma alternativa (más moderna) de facilitar los recursos entre dominios.