zoukankan      html  css  js  c++  java
  • Node.mongoose

    简介

    mongodb是一款面向文档的数据库,不是关系型数据库,新手熟悉mysql、sqlserver等数据库的人可能入手稍微困难些,需要转换一下思想,可以不需要有固定的存储模式,以文档模型为存储内容相对有更好的扩展性,给我的感觉它更像是一个方便的javascript扩展单元,因为现在我所知的一些功能都可以靠js脚本实现并在数据库中执行。更多查看mongodb官网

    命令

    mongodb在终端中通过输入命令可查看数据库信息及操作相关数据。
    1.show dbs :数据库列表
    2.db :当前数据库
    3.db.help()/db.xx.help() :帮助,帮助中会列出当前可执行的所有方法名称及简介。
    4.网上收集的一些 mongodb基本命令

    Node操作mongodb

    安装mongoose

    1.安装Nodemongodb数据库
    2.打开命令行 执行 npm 命令:

    npm install mongoose -g 

    连接数据库

    //获取mongoose模块
    var mongoose = require('mongoose');
    ///获取本地mongodb连接
    //connect和createConnection都接受mongodb数据库连接,支持URI或者参数(host,database,port)的形式。
    var conn = mongoose.connect('mongodb://localhost/数据库名称');

    定义模型

    //定义User模型 类似于MVC中的Model
    var 模型 = new Schema({
    字段名称 : { type: 类型 }
    //...
    });
    mongoose.model(模型名称, 模型);

    访问模型

    //这里的模型为数据库直接操作的对象
    var mongoSchema = mongoose.model(模型名称); 

    CRUD

    1.添加新数据

    //实例化数据模型
    var schermaName = new mongoSchema();
    //为模型成员赋值
    schermaName.字段 = 值;
    //...
    //执行保存操作
    schermaName.save(function(err){
    if (err) {
    console.log(err);
    }
    console.log('save success');
    });

    2.查找

    //查找数据
    //单条查找使用findone() 返回查找结果集中的第一条数据
    schermaName.find({key:value},function(err,docs){
    console.log(docs);
    });

    3.修改数据

    schermaName.update(定位数据:{key:value},更改值);

    4.删除数据

    schermaName.remove(定位数据:{key:value},function(err,docs){
    console.log(docs);
    });

    注意事项

    mongoose在与数据库真正建立连接之前便缓存了所有的命令,这就意味着你在定义模型、执行查询时确认与mongodb数据库的连接状态或重新打开数据库连接会抛出异常。

    常见异常处理

    1.Error: Trying to open unclosed connection.
    尝试打开一个没有关闭的数据库连接。(来源:db.open())

    接触的还不多,以后有更多的经验继续完善…

  • 相关阅读:
    java面向对象第三章
    java基础(9)
    java基础(8)
    java基础(7)
    java基础(6)
    Java(20)file i/o
    Java(19)JDBC
    Java(18) 集合框架
    Java(17)异常
    Java(16)接口
  • 原文地址:https://www.cnblogs.com/z-yue/p/5509097.html
Copyright © 2011-2022 走看看