• 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集合关联

    
    
  • 相关阅读:
    针对图片性能优化的总结
    activityGroup源码分析
    针对BaseAdapter的扩展
    ADB命令介绍
    一个对内存分析的文章。 非常棒。
    hdu 1285 确定比赛名次(很典型的拓扑排序)
    经典排序之归并排序
    hdu 1166 敌兵布阵 (树状数组)
    hdu 3518 Boring counting (后缀数组)
    hdu 3584 Cube(树状数组)
  • 原文地址:https://www.cnblogs.com/thonrt/p/6933990.html
Copyright © 2020-2023  润新知