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

    
    
  • 相关阅读:
    JMX堆栈分析
    Python装饰器示例
    安装指定版本capistrano
    Linux CPU使用率含义及原理
    API gateway 之 kong 安装
    Redis内存分析方法
    Elasticsearch集群内的原理
    Elasticsearch基础
    Python智能检测编码并转码
    (转)rabbitmq的web管理界面无法使用guest用户登录
  • 原文地址:https://www.cnblogs.com/thonrt/p/6933990.html
Copyright © 2011-2022 走看看