没事的时候撸两行代码,并以此为乐趣...

MongoDB基础

MongoDB是一个以分布式数据库为核心的数据库。它将数据存储在类似json的bson文档中,具有高性能、容易部署、方便使用的特点。特别是为查询、索引和实时聚合提供了访问和分析数据的强大方法支持。目前MongoDB已经提供了十多种主流开发语言驱动的。

下载与安装

MongDB的安装很简单,下载安装包后,只需一路点击下一步即可。MongoDB默认是没有配置环境变量的,所以安装完成后需要手动设置下环境变量,默认的路径是C:\Program Files\MongoDB\Server\3.6\bin (根据系统不同会有些差异)

CRUD操作

创建数据库

首先创建一个数据库目录,将他作为数据库的存放目录,然后通过指令开启或创建一个数据服务

mongod --dbpath D:\MongoDB\testdb

我们可以通过MongoDB默认的端口服务查看数据库服务是否开启成功


MongoDB还自带了一个管理工具,我们可以通过它来管理数据库

可以通过命令查看MongoDB中是否创建testdb成功,但是我们发现数据库列表中并没有testsdb,是因为创建的testdb库中是空的,等给库添加集合(表)后,它就显示出来了

show dbs  --查看所有数据库
db             --显示当前操作的数据库
show collections --显示当前数据库下的表集合
use testdb  --切换或创建到testdb数据库

创建数据表

MonoDB无需手动创建数据表,当我们在新增数据的时候,如果库中没有当前的集合表,它会自动给我们创建

增加一条数据

向集合中插入一条数据

db.products.insertOne({"Name":"钢笔","Price":20.99,"Date":"2019-09-07"})

向集合中插入一条或多条数据

db.products.insert([{"Name":"圆珠笔","Price":1.00,"Date":"2019-09-07"},{"Name":"毛笔","Price":5.59,"Date":"2019-09-07"}])

向集合中插入多条数据

db.products.insertMany([{"Name":"圆珠笔","Price":1.00,"Date":"2019-09-07"},{"Name":"毛笔","Price":5.59,"Date":"2019-09-07"}])

导入数据

创建一个将要被导入的数据文件,需要注意每条数据内容为json格式;通过这种方式导入的数据是直接追加到集合表中

mongoimport --db testdb --collection projects --file C:\Users\yangj\Desktop\data.json

数据查询

查询所有数据

db.projects.find()

根据条件查询数据

db.products.find({"Name":"钢笔"})
db.products.find({"Name":"钢笔","Price":20.99})
db.products.find({"Price":{$lt:3}}) 查询价格小于3的产品
db.products.find({"Price":{$gt:3}})  --查询价格大于3的产品

需要注意的是传递的参数字段名称是区分大小写的,这点与其他数据库有点不一样

修改数据

db.products.update({"Name":"铅笔"},{$set:{"Price":19.09}})

需改数据同样也有updateOne、updateMany等方法,需要注意的是如果没有使用$set参数,原来的数据会直接被覆盖掉;还可以使用替换方法replaceOne,语法基本都差不多

删除数据

db.products.remove({"Price":19.99})
db.products.remove({"Price":1},{justOne:true}) --只删除一条符合该条件的数据
db.products.remove({}) --删除所有表数据

删除表

db.products.drop()

删除库

如果将库中的所有数据表都删除,默认是将库也删除,所以当只有库中有数据的时候 show dbs才能看得到该数据库

数据排序

在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列

db.products.find({"Name":"产品1"}).sort({"Price":1})

分页查询

db.products.find().limit(5).skip(3)

skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。

官方手册:https://docs.mongodb.com/manual/
下载地址:https://www.mongodb.com/download-center/community

posted on 2019-09-07 17:34 zhuanghamiao 阅读(...) 评论(...) 编辑 收藏

导航

统计