博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mongodb相关 (Shell命令 / mongoose)
阅读量:6883 次
发布时间:2019-06-27

本文共 4140 字,大约阅读时间需要 13 分钟。

Mongodb相关

1.创建一个文件夹作为数据库存放的目录2.打开cmd cd到Mongodb/bin目录去3.执行mongod --dbpath "第一项创建的文件夹(数据库数据存放目录)"4.打开新终端,原窗口最小化,运行bin目录下的mongo可执行文件,连接数据库

MongodbShell命令

  1. use dbName

    切换到某个数据库,如果dbname不存在,则会创建并切换

  2. db.dropDatabase()

    删除当前数据库(前提是先进入到当前数据库)

  3. show dbs

    查询所有的数据库

  4. db.createCollection("tableName")

    在当前数据库中创建一张数据表,这个命令不常用

  5. show collections

    查看当前数据库中的所有表(数据集合)

    db.tableName.insert();
    使用表时如果不存在,会自动创建

  6. db.tableName.insert({name:'baimao',age:12,sex:'女'})

    创建一张表并插入一条数据

  7. db.tableName.save({name:'baimao',age:12,sex:'女'})

    向数据库的某个数据集合插入一条数据

  8. db.tableName.find({name:'baimao',age:12})

    查询name=baimao且age=12的元祖

    根据查询条件来查询当前表,并集查询条件用,号
    find也可以不写参数,查出全部数据

  9. db.tableName.find({$or:[{name:'baimao'},{age:18}]});

    查询满足name=‘baimao’或者age=18的元祖

  10. db.tableName.find({age:{$lt:23}})

    db.tableName.find({age:{$lte:23}})
    db.tableName.find({age:{$gt:23}})
    db.tableName.find({age:{$gte:23}})
    db.tableName.find({age:{$ne:23}})

    查询年龄<(<=,>,>=,!=)23的所有元祖

  11. 支持正则表达式的查询

查询条件支持正则表达式:     db.people.find({name:/四/})            查找姓名包含:四 的人     db.people.find({name:/^张/})           查找姓 张 的人     db.people.find({name:/^张.$/})         查找姓 张 的人并且不能以空格结束     db.people.count()                      集合中数据个数     db.people.find({},{name:1,_id:0})      只查找name这一列(field)

  1. db.person.count()

    计算当前表的元祖数目

  2. db.person.find().sort({age:1})

    将年龄正序排序

  3. db.person.find().sort({age:-1})

    将年龄逆序排序

  4. db.person.find().skip(n)

    跳过(删除)查询结果中前n条数据。

  5. db.person.find().limit(n)

    从查询结果中取前n条数据。

  6. db.preson.find().skip(2).limit(3)

    从查询结果中取第二条后开始的三条数据


1.插入数据: db.person.insert({"name":"baimao","age":"16"});2.查找数据: db.person.find();            db.person.find({"name":"baimao"}) ==>可以根据指定查询条件查询3.更新数据: 整体更新:                db.person.update({"name":"baimao"},{"name":"baimao","age":"15"})                        [这种方法在更新字段处写全全部的key和value值]            局部更新:                (1)                var user = db.person.findOne({"name":"baimao"});                user.age = 12;                db.person.update({"name":"baimao"},user);                (2)$inc                db.person.update({"name":"baimao"},{$inc:{"age":30}}); 将baimao的年龄增加30                (3)$set                db.person.update({"name":"baimao"},{$set:{"age":12}}); 将baimao的年龄设置为12                批量更新                db.person.update({"name":"baimao"},{$set:{"age":12}},{mutli:true})                [将所有name为baimao的字段的age属性都设置为12                更新数据(如若没有就增加)                db.person.update({"name":"baimao"},{$set:{"age":12}},{mutli:true},{upsert:true})                    [将update的第四个参数设置为true就可实现在查询不到结果的情况下直接增加一条记录]4.删除数据:             db.person.remove({}); ==> 删除全部            db.person.remove({"name":"baimao"}) 删除指定数据5.查询:               $gt     >            $gte    >=            $lt     <            $lte    <=            $ne     !=            无(:)    =            无(,)    &&            $or     ||      (or指的是在某些键值对中查询)            $in     in      (in指的是某个key值在一个value值组成的数组中查询)            $nin    notIn            正则查询:   db.person.find({"name":/^b/,"name":/o$/})   name字段以b开头以o结尾            js方法查询: db.person.find({$where:function() {return this.name == 'baimao'});

Mongodb与Nodejs相关

1.引入Mongodb接口Moogoose2.node连接数据库(moogoose.connect("mongodb://localhost:27017/data")) data为数据库名称2.定义模式Schema(模式中定义属性或字段的类型等)模式定义结构     var Schema = moogoose.Schema    var student_Schema = new Schema( {        name:String,        id:Number,        ...    },    {        //禁止moogoose创建集合时默认给集合添加versionKey属性        versionKey:false    });3.根据模式Schema定义模型model 模型操作实例  moogose.model("Student",student_Schema)4.访问模型 var myStudent = mongoose.model("Student");或者    var myStudent = mongoose.model("Student",{        name:String,        id:Number,        ...    },{        versionKey:false    });5.创建实例    var student = new myStudent({        name:'baimao',        id:123,    })归纳:1.引入mongoose2.设置mongoose连接并监听on('open'/'error')3.引用 mongoose自带的Schema4.通过mongoose自带的Schema设置自定义的Schema(定义表的结构)5.将自定义的Schema设置在mongoose.model()中 mongoose.model("Comment",Comment_schema); 设置一张表的结构6.自定义model var MyComment = mongoose.model("Comment"); 创建表7.创建表的实例 var sam = new MyComment({name:'hhh',age:'jjj'}); 只在save的时候用    mongoose数据的删改查方法通过表来实现 即MyComment来实现 而增加需要表的实例

转载于:https://www.cnblogs.com/baimaoccc/p/7360147.html

你可能感兴趣的文章
Midway 外部版启动过程分析
查看>>
JDK自带的java.util.Timer定时器的实现原理
查看>>
[Web开发] 检测IE版本号的方法总结
查看>>
普通PC机上安装XenServer
查看>>
fuse-dfs的设定手册
查看>>
SharePoint 2010 & Office 2010 reach RTM !
查看>>
Vmware vSphere 5.0实战教程之二 vMotion及Storage vMotion实战
查看>>
你的Winxp是不是原版,一看就知
查看>>
C# 8.0的三个令人兴奋的新特性
查看>>
关于ip_conntrack跟踪连接满导致网络丢包问题的分析
查看>>
烂泥:linux学习之VNC远程控制(一)
查看>>
IT技术晋级之路-VM中系统安装
查看>>
SNIA持久化内存峰会:虚拟机、数据库、SDS进展曝光
查看>>
[Android]AndroidInject增加sqlite3数据库映射注解(ORM)
查看>>
Oracle RAC负载均衡和透明应用失败切换的配置和测试过程(二、配置实例)
查看>>
xhEditor for .net (支持上传,远程抓图)
查看>>
bleve搜索引擎是支持基于field搜索的
查看>>
CVS配置
查看>>
SharePoint 2013中的爬网最佳做法
查看>>
汉字转换为拼音以及缩写(javascript)
查看>>