【问题标题】:connect mongo to node error将mongodb连接到节点错误
【发布时间】:2014-08-20 23:30:38
【问题描述】:

我正在尝试将节点服务器连接到 mongo 并且有我的代码:

var http = require("http");
var url = require("url");
var Router = require('node-simple-router');
var router = Router();
var qs = require('querystring');
var mongoose = require('mongoose');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
// mongo connection and use 
mongoose.connect('mongodb://localhost/jobs');
var db = mongoose.connection;
db.on('error', function() {console.log("error")});
db.once('open', function () {
console.log("connected!");
// init the schema 
var jobSchema = mongoose.Schema({ bName: String , phone :Number ,location:[{longitude:Number,latitude:Number}],Email:String,field:String,exp:String});
jobSchema.methods.printDetails = function() {
 var str = "id=" + this.id + " name="+this.name;
 console.log(str);
 };
var job = mongoose.model('jobs',jobSchema);
 //adding a jobs for testing : 
 var testJob = new job ({bName: 'Microsoft' , phone :'035588319' ,location:[{longitude:'7.8',latitude:'7.8'}],Email:'microsoft@gmail.com' ,field:'QA',exp:'0-2'});
    testJob.save(function(error,prod) {
    if(error) {
    console.log(error);
            }
    else {
        console.log("a job was saved to mongodb");
        //testJob.printDetails();
        }
)};


function start(route) {
  function onRequest(request, response) {
    var path =  url.parse(request.url).pathname;
    console.log("Request for " +path+ "received.");
    route(path);
    if(request.method==='GET')
    {

        response.writeHead(200, {"Content-Type": "text/plain","access-control-allow-origin":"*"});
        console.log(request.body);
        response.end("res");    

    }
     else if(request.method === 'POST')
    {

        response.writeHead(200, {"Content-Type": "text/plain","access-control-allow-origin":"*"});
        //var userString = JSON.stringify(body);

        response.end("POST REQUEST");

    }
    else if (request.method==='PUT')
    {
        response.writeHead(200, {"Content-Type": "text/plain","access-control-allow-origin":"*"});
        response.end("put request");
    }
    else if(request.method==='DELETE')
    {
        response.writeHead(200, {"Content-Type": "text/plain","access-control-allow-origin":"*"});
        response.end("delete request");
    }

  }

  http.createServer(onRequest).listen(8888);
  console.log("Server has started.");
}

exports.start = start;

由于第 79 行的语法错误,我没有启动我的服务器,但我只有 78 行。 语法错误意外输入结束:}); ,谁能告诉我这是否是连接 mongo 和节点 Web 服务器的正确方法。

【问题讨论】:

  • 在第 16 行的 db.once( 中打开的括号永远不会关闭。
  • 谢谢你!!你能告诉我这是否是将文档插入 mongo 的正确方法吗?
  • 我从来没有用过猫鼬,我试过和尚,没有任何模式就可以正常工作。

标签: javascript node.js mongodb mongoose


【解决方案1】:

当您调用 db.once("open", function () { 时,您永远不会关闭括号和大括号。

我认为您希望在 testJob 声明之后添加一个 });。那也应该是}) 而不是)}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 2022-12-10
    • 2020-07-23
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多