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

    
    
  • 相关阅读:
    jbox使用总结
    NOI 2012 【迷失游乐园】
    SCOI 2008 【奖励关】
    trie树——【吴传之火烧连营】
    状压DP——【蜀传之单刀赴会】
    NOIP提高组2016 D2T3 【愤怒的小鸟】
    NOIP提高组2013 D2T3 【华容道】
    [学习笔记] [KMP]字符串匹配算法
    SHOI 2014 【概率充电器】
    HNOI 2015 【亚瑟王】
  • 原文地址:https://www.cnblogs.com/thonrt/p/6933990.html
Copyright © 2011-2022 走看看