Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Nodejs-在js文件中连接mongodb数据库?_Javascript_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript Nodejs-在js文件中连接mongodb数据库?

Javascript Nodejs-在js文件中连接mongodb数据库?,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,因此,我在本教程中了解了如何使用mongodb: 我在包含html css和js的项目文件夹中本地安装了mongodb,在项目文件夹中运行npm list mongodb,得到了mongodb版本。我还没有安装它的全球,但据我所知,这是好的,对吗 无论如何,我尝试添加教程中的示例来测试连接到mongodb数据库。我刚刚创建了一个函数,并在页面加载后立即调用它: function connectMongo(){ alert("test1"); var MongoClient = r

因此,我在本教程中了解了如何使用mongodb:

我在包含html css和js的项目文件夹中本地安装了mongodb,在项目文件夹中运行npm list mongodb,得到了mongodb版本。我还没有安装它的全球,但据我所知,这是好的,对吗

无论如何,我尝试添加教程中的示例来测试连接到mongodb数据库。我刚刚创建了一个函数,并在页面加载后立即调用它:

function connectMongo(){
    alert("test1");
    var MongoClient = require('mongodb').MongoClient;
    alert("test2");
    var myCollection;
    var db = MongoClient.connect('mongodb://127.0.0.1:27017/test',          function(err, db) {
    if(err){
        throw err;
        alert("mongoerror");
    }
    alert("connected to the mongoDB !");
   // myCollection = db.collection('test_collection');
});
}

第一个测试警报有效,但第二个测试未出现。但是,页面上的其余代码仍在运行,因此我认为没有语法错误。我不知道我到底打算如何运行这个示例,有人能告诉我为什么我的函数在结束后退出吗

var MongoClient = require('mongodb').MongoClient;
我还安装了mongoose,尽管我不太确定我是否在这里的示例中使用它


抱歉,如果我的问题有点模糊,我真的不知道我在这里做什么

听起来你好像在试图在浏览器中运行mongo connection javascript。mongodb连接通过
节点
可执行文件在服务器上运行。这是运行服务器端的web应用程序中的javascript代码,而不是web应用程序交付给浏览器以运行客户端的javascript

创建一个文件
test.js

function connectMongo(){
  var MongoClient = require('mongodb').MongoClient;
  console.log('MongoClient is',typeof MongoClient)
  var myCollection;
  var url = 'mongodb://127.0.0.1:27017/test';
  var db = MongoClient.connect(url, function(err, db) {
    if(err){
      console.log("mongoerror", err);
      throw err;
    }
    console.log("connected to the mongoDB!");
    myCollection = db.collection('test_collection');
  });
}
connectMongo()
然后在系统上,在命令或shell提示符下运行

node test.js
应该打印出来

$ node test.js
MongoClient is function
connected to the mongoDB!
^C
一旦服务器连接到数据库,就可以将消息从前端javascript传递到后端服务器代码。通常这是通过http请求完成的,因此javascript会在后台发出额外的http请求。为此提供了一个简单的跨浏览器API。您还可以使用WebSocket通过Web服务器来回传递消息


要了解Node/Express/MongoDB应用程序的基本知识,请尝试以下操作:

听起来您好像在尝试在浏览器中运行mongo连接javascript。mongodb连接通过
节点
可执行文件在服务器上运行。这是运行服务器端的web应用程序中的javascript代码,而不是web应用程序交付给浏览器以运行客户端的javascript

创建一个文件
test.js

function connectMongo(){
  var MongoClient = require('mongodb').MongoClient;
  console.log('MongoClient is',typeof MongoClient)
  var myCollection;
  var url = 'mongodb://127.0.0.1:27017/test';
  var db = MongoClient.connect(url, function(err, db) {
    if(err){
      console.log("mongoerror", err);
      throw err;
    }
    console.log("connected to the mongoDB!");
    myCollection = db.collection('test_collection');
  });
}
connectMongo()
然后在系统上,在命令或shell提示符下运行

node test.js
应该打印出来

$ node test.js
MongoClient is function
connected to the mongoDB!
^C
一旦服务器连接到数据库,就可以将消息从前端javascript传递到后端服务器代码。通常这是通过http请求完成的,因此javascript会在后台发出额外的http请求。为此提供了一个简单的跨浏览器API。您还可以使用WebSocket通过Web服务器来回传递消息


要了解Node/Express/MongoDB应用程序的基础知识,请尝试以下操作:

尽管Nodejs是用Javascript编写的,但您必须明确区分客户端和服务器功能。Javascript的alert()用于在浏览器上弹出消息。这不是Nodejs所做的,因为它是一个服务器应用程序

忘记警报(“消息”)您想使用console.log(“消息”);在服务器控制台上查看日志信息

先决条件

让我们快速回顾一下客户机-服务器web交互:

  • 服务器已启动并正在运行
  • 客户端通过浏览器请求页面
  • 页面显示在客户端的浏览器上
  • 步骤1

    缺少的步骤是(1),因为服务器未启动并运行。 这是通过在终端上键入以下命令来完成的:

    $ node name_of_file_here.js
    
    如果语法中有错误或缺少依赖项,控制台将记录错误。如果没有出现,一切都会好起来

    步骤2

    现在,您仍然不能期望在浏览器上看到任何“相关”的内容,因为您的服务器虽然设置了MongoDB实例,但仍然没有侦听来自客户端的请求。 需要添加一些代码:

    'use strict'; 
    var http = require('http');
    var PORT=8009;
    var MongoClient = require('mongodb').MongoClient;
    
    // Connect to the db
    var d = MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db) {
      if(!err) {
        console.log("We are connected");
      }
    });
    
    //Create a server
    var server = http.createServer(function(request, response) {
        console.log("received request");  
    
        // use MongoClient to get relevant data 
        // var relevant_data = ...; 
        // response.write(relevant_data); 
    
        response.write("hey there"); 
        response.end(); 
    }); 
    
    server.listen(PORT, function(){
        //Callback triggered when server is successfully listening. Hurray!
        console.log("Server listening on: http://localhost:%s", PORT);
    });
    
    最后一个音符


    我绝不是MongoDB专家,但我相信MongoDB客户端必须在您的系统上运行MongoDB服务(服务器),才能创建连接

    首先,尽管Nodejs是用Javascript编写的,但您必须清楚地区分客户端和服务器功能。Javascript的alert()用于在浏览器上弹出消息。这不是Nodejs所做的,因为它是一个服务器应用程序

    忘记警报(“消息”)您想使用console.log(“消息”);在服务器控制台上查看日志信息

    先决条件

    让我们快速回顾一下客户机-服务器web交互:

  • 服务器已启动并正在运行
  • 客户端通过浏览器请求页面
  • 页面显示在客户端的浏览器上
  • 步骤1

    缺少的步骤是(1),因为服务器未启动并运行。 这是通过在终端上键入以下命令来完成的:

    $ node name_of_file_here.js
    
    如果语法中有错误或缺少依赖项,控制台将记录错误。如果没有出现,一切都会好起来

    步骤2

    现在,您仍然不能期望在浏览器上看到任何“相关”的内容,因为您的服务器虽然设置了MongoDB实例,但仍然没有侦听来自客户端的请求。 需要添加一些代码:

    'use strict'; 
    var http = require('http');
    var PORT=8009;
    var MongoClient = require('mongodb').MongoClient;
    
    // Connect to the db
    var d = MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db) {
      if(!err) {
        console.log("We are connected");
      }
    });
    
    //Create a server
    var server = http.createServer(function(request, response) {
        console.log("received request");  
    
        // use MongoClient to get relevant data 
        // var relevant_data = ...; 
        // response.write(relevant_data); 
    
        response.write("hey there"); 
        response.end(); 
    }); 
    
    server.listen(PORT, function(){
        //Callback triggered when server is successfully listening. Hurray!
        console.log("Server listening on: http://localhost:%s", PORT);
    });
    
    最后一个音符


    我绝不是MongoDB专家,但我相信MongoDB客户端必须在您的系统上运行MongoDB服务(服务器),才能创建连接

    你提到猫鼬,但你没有使用那个模块。您是否安装了
    mongodb
    模块?是的,mongodb和mongoose都安装在我的项目文件夹中。您正在使用
    alert
    并说“一旦我的页面加载”。这个javascript是否提供给浏览器?是的,我正在构建一个web应用程序,我只是简单地测试一下mongodb examle,然后再将它整合到我的网页中