Moongose,expressjs和node-webkit

时间:2016-03-10 16:51:32

标签: javascript node.js mongodb mongoose node-webkit

我正在使用node-webkit构建一个基于expressjs和mongoose的应用程序。我基本上都是新手。

我有一个mongoDb在线托管,我尝试在我的应用程序中使用它,但我错过了一些东西

我在模型文件夹db.js中创建,我在那里连接db

var mongoose = require('mongoose');
mongoose.connect('mongodb://user:password@ds012345.mlab.com:port/mydb') //this isn't the real link

然后是我的模型,clients.js

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var clientSchema = new Schema ({
            name: String,
            //other fields


});

var client =  mongoose.model('client', clientSchema);
module.exports = client;

然后,在我的app.js

var db = require('./model/db')

我也在使用路线,所以在我的index.js中我得到了

var client = require('../model/clients')

但是我不能使用任何功能(保存,查找,ecc。),我可以创建模型。

我认为我没有以正确的方式连接所有模块,我之前使用的是diskdb,并且我在我的index.js中连接到它,但我尝试的方式相同,但无论如何都无法正常工作。 此外,当我构建应用程序时,我的mongoose连接状态为2。

1 个答案:

答案 0 :(得分:0)

以下是一些事项:

什么是ecc?你应该连接到这样的东西:mongoose.connect('mongodb://localhost:27017/test');

27017是MongoDB的默认端口,test是数据库的名称。另外,请确保使用mongod启动mongo服务器,然后运行mongo console mongo

您的字段应指定数据类型:

var clientSchema = new Schema ({
   name: String,
   age: Number
});

所以你想把文件保存到数据库中:

var client = mongoose.model('client', clientSchema);
var data = {
  nome: 'something'
};
var user = new client(data);
user.save(function(err) {
  if(err) console.log(err);
});

在您的路线中,您可以执行以下操作来查询并将数据发送回请求:

var express = require('express');
var router = express.Router();

var clientSchema = require('../models/clientSchema');

router.get('/', function(req, res, next) {
  UserSchema.find({} , function(err, data) {
    if (err) console.log(err);
    res.render('index', {
      data: data
    });
  });
});

module.exports = router;

希望这有帮助!