nodejs mongoose安装问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs mongoose安装问题相关的知识,希望对你有一定的参考价值。

求大神帮忙看一下mongoose安装问题
环境:win7 64 ; vs2010和python2.7已经安装
mongodb服务已开启
telnet 127.0.0.1 27017 成功
node版本v0.10.32
express版本4.9.0

安装时出现c++黄字报错:C4530、C4267、C4244、C4506、C

已尝试方案
1、 npm uninstall mongoose -g; npm cache clean; npm install mongoose
结果:执行 npm start 连接 mongodb失败 异常时空指针server.js:546:74
2、安装完后package.json中的dependency未添加mongoose
结果:执行 npm start 连接 mongodb失败 异常时空指针server.js:546:74
3、手动添加依赖:"mongoose":"~3.8.17"执行 npm start
结果:连接 mongodb失败 异常时空指针server.js:546:74

参考技术A

你说你的服务开启了 你确定????

请在你说的服务一开启的状态下, 直接进入mongo 客户端,是否能进行查询等操作?

也就是说 在cmd下运行

mongo
show dbs

有结果输出?

egg-mongoose --- nodejs

项目

egg + mongoose


 

项目结构

 

配置


 

egg 安装模块

npm i egg-mongoose --save

 

config/pulgin.js

exports.mongoose = {
  enable: true,
  package: \'egg-mongoose\',
};

 

config/config.default.js

exports.mongoose = {
    url: \'mongodb://127.0.0.1/demo\',
    //链接到本地的MongoDB,demo是我本地数据库的名字,根据自己数据库名字进行填写即可
    options: {},
};

 

数据建模


 

model/user.js

// app/model/user.js
module.exports = app => {
    const mongoose = app.mongoose;
    const Schema = mongoose.Schema;
   
    const UserSchema = new Schema({
      userName: { type: String  },
      password: { type: String  }
    });
    // 以上定义了表数据的类型
   
    return mongoose.model(\'User\', UserSchema, \'userInfo\');
    // model(参数1,参数2,参数3)参数3是你数据表中需要操作的表的名字,
    // 比如我现在要操作的是名字叫mongoTest里面的叫userInfo的表
}

 

 

service


 service/user.js

\'use strict\';
// app/service/user.js
const Service = require(\'egg\').Service;

class UserService extends Service {
  async findUserList() {
    return this.ctx.model.User.find()
  }
}
module.exports = UserService;

 

controller


 controller/user.js

\'use strict\';

const Controller = require(\'egg\').Controller;

class UserController extends Controller {
  async findUser() {
    // console.log(this.ctx.service.user.findUserList())
    // let ret = await this.ctx.service.user.findUserList()
    // this.ctx.body = ret

    this.ctx.body = await this.ctx.service.user.findUserList()

  }
}

module.exports = UserController;

 

router.js


 

\'use strict\';

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller } = app;
  router.get(\'/findUser\', controller.user.findUser);
};

 

 

查询结果


 

 

以上是关于nodejs mongoose安装问题的主要内容,如果未能解决你的问题,请参考以下文章

npm install mongoose 失败(kerberos 和 bson 错误)

egg-mongoose --- nodejs

如何在 nodejs 上安装猫鼬驱动程序?

无法通过 npm 安装 mongoose - 依赖失败 es6-promise 3.0.2

我无法使用 Mongoose 在 MongoDB 中保存或查找文档

在 Heroku 上部署 Nodejs + MongoDB,但安装插件时需要验证信用卡