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
你说你的服务开启了 你确定????
请在你说的服务一开启的状态下, 直接进入mongo 客户端,是否能进行查询等操作?
也就是说 在cmd下运行
mongoshow 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 错误)
无法通过 npm 安装 mongoose - 依赖失败 es6-promise 3.0.2