zoukankan      html  css  js  c++  java
  • node + mongoDB

    在MongoDB安装这篇博客中已经创建了一个bella_blog的数据库,该数据已经包含了user集合。

    下面就可以在node sever端用MongoDB了。

    Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用。

    首先得安装mongoose

      npm install mongoose --save

    然后就可以用mongoose操作数据库的数据了

    var mongoose = require('mongoose'); //引入mongoose木块
    var db = mongoose.connect('mongodb://localhost:27017/bella_blog');//;连接数据库
    var Schema = mongoose.Schema;   //  创建模型
    var userScheMa = new Schema({
    	name: String,
    	password: String
    }); //  定义了一个新的模型,但是此模式还未和users集合有关联
    var UserModel = db.model('user', userScheMa,"user"); //  与users集合关联
    module.exports = UserModel;
    

     然后作为一个model调用mongoose提供的api方法了。

    eg:

    UserModel.find({},function(err,docs){
    
      console.log(docs);
    
      })
    

      

    但是这里有一个巨大的坑。。。。。。

    find()的时候找不到user里面的数据,一直返回[]

    在MongoDB创建集合的时候,会默认的把集合名字(user)作为复数(users).

    因此有两个解决办法:

      一: 创建集合的时候就直接用users命名

      二:在关联user集合时候传入第三个参数,集合的名字,如下

        db.model('user', userScheMa,"user"); //  与users集合关联

        如果没有第三个参数,是find不到user集合里面的数据

           db.model('user', userScheMa) //  与users集合关联

    
    
  • 相关阅读:
    noip模拟赛#38
    noip模拟赛#45
    noip模拟赛#15
    noip模拟赛#14
    noip模拟赛
    rp++
    bzoj2127: happiness
    bzoj3209:3209: 花神的数论题
    10.1 plan
    FFT
  • 原文地址:https://www.cnblogs.com/thonrt/p/6933990.html
Copyright © 2011-2022 走看看