mongodb可视化工具

MongoDB是一个基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引【来自百度百科】。所以这里将对mongoDB的一些命令以及使用进行介绍。
首先,是对mongoDB的安装,这里使用max系统进行演示,打开浏览器,点击这里,来到homebrew官方网页,选择简体中文,复制下面的命令到控制台

《mongodb可视化工具》 image.png

安装成功会显示success单词,这个时候,进行下面的命令操作

brew install mongodb

当出现一排####时则成功。
下一步,在桌面创建一个文件夹,将文件夹拖入控制台,输入

mongod --dbpath=文件夹路径

这时候不要关闭控制台,因为这是相当于开启服务器,检查活动检测器里面是否有mongod

《mongodb可视化工具》 image.png

当出现时,commit+n新建一个控制台,下面是mongoDB的操作步骤

进入mongoDB环境:mongo

《mongodb可视化工具》 image.png

查看数据库: show  dbs
选择要操作的数据库:use DBNAME(数据库名字)
查看集合:show collections
查看集合里面的内容:db.COLLECTIONNAME(集合名字).find();
查看当前操作的数据库:db    或者    db.getName()
创建数据库:use 要创建的数据名
数据的添加:db.COLLECTIONNAME(集合名字).insert({name:"张三",age:19})

例如:
//创建一个数据库名为test,集合名称是mytest,添加数据{name:”苹果”,price:”$5688″,”type”:”36G”}{name:”三星”,price:”$4688″,”type”:”36G”}
步骤:

1.创建    use  test;
2.创建集合: db.mytest.insert({name:"苹果",price:"$5688",type:"32G"},{name:"三星",price:"$5688",type:"32G"})
3.查看集合: db.mytest.find()

《mongodb可视化工具》 image.png

数据操作

增加:db.COLLECTIONNAME.insert({name:"张三",age:19});

sava添加操作
db.COLLECTIONNAME.sava({name:"李四",age:18});

sava更新操作
db.COLLECTIONNAME.save({ "_id" : ObjectId("5a67e9b5abb73ea4bf24d0f0"), "name" : "张三2", "age" : 20 })

删除:remove()
db.COLLECTIONNAME.remove({name:"张三"},{配置项(可选)})

注意:updata默认是只会更新符合条件的多条数据中的一条数据,remove默认配置是只会删除符合条件数据的所有数据

数据的查询

db.COLLECTIONNAME.find({条件},{字段});

例如:查询数据库中大于30岁的人

db.COLLECTIONNAME.find({age:{$gt:18}})

《mongodb可视化工具》 image.png

例如:大于30岁的人name字段为1(只显示名字字段,不显示id等等)

db.COLLECTIONNAME.find({age:{$gt:18}},{name:1});

《mongodb可视化工具》 image.png

格式化数据

db.COLLECTIONNAME.find.pretty();

条件查询

条件:大于gt    小于lt    大于等于gte   小于lt
     不等于 ne    等于 直接冒号

例如:查询所有以王开头的数据

db.COLLECTIONNAME.find({name:/^王/});

《mongodb可视化工具》 image.png

并且关系,直接用逗号隔开
例如: 查询数据名字是张三,并且年龄为19

db.COLLECTIONNAME.find({name:"张三",age:19});

或者关系
例如:查询年龄等于19或者18
db.COLLECTIONNAME.find({$or:[{age:19},{age:18}]});
例如:查询张字开头,年龄大于18

db.COLLECTIONNAME.find({name:/^张/,age:{$gt:18}})

分页相关
查询跳过2条开始查,查询两条数据
db.COLLECTIONNAME.find().skip(2).limit(2);

排序查询 sort查询
1是正序,-1是倒序排列

db.COLLECTIONNAME.find().sort({排序名称});

例如:根据年龄从小到大

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

例如:查询所有姓李或者姓王的,按照年龄倒序排列,只查询结果的2条数据

db.person(集合名字).find({$or:[{name:/^李/},{name:/^王/}]}).sort({age:-1}).limit(2);

查询数量

db.collectionname.find().count();

最后,exit退出

    原文作者:孙静静
    原文地址: https://www.jianshu.com/p/83e892ea242d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞