Moongose, expressjs and node-webkit

Moongose, expressjs and node-webkit

本文关键字:node-webkit and expressjs Moongose      更新时间:2023-09-26

我正在使用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

然后是我的模型,客户.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;

然后,在我的应用程序中.js

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

我也在使用路由,所以在我的索引中.js我得到了

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

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

我想我没有以正确的方式连接所有模块,我以前使用 diskdb 并在我的索引中连接到它.js,但我以同样的方式尝试过,无论如何它都不起作用。另外,当我构建应用程序时,我的猫鼬连接状态为 2。

以下是一些事情:

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

27017是MongoDB的默认端口,test是数据库的名称。还要确保使用 mongod 启动 mongo 服务器,然后运行 mongo 控制台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);
});

在路由中,您可以执行以下操作来查询并将数据发送回 req:

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;

希望这有帮助!