mongodb是一个以分布式数据库为核心的数据库。它将数据存储在类似json的bson文档中,具有高性能、容易部署、方便使用的特点。特别是为查询、索引和实时聚合提供了访问和分析数据的强大方法支持。目前mongodb已经提供了十多种主流开发语言驱动的。
mongdb的安装很简单,下载安装包后,只需一路点击下一步即可。mongodb默认是没有配置环境变量的,所以安装完成后需要手动设置下环境变量,默认的路径是c:\program files\mongodb\server\3.6\bin (根据系统不同会有些差异)
首先创建一个数据库目录,将他作为数据库的存放目录,然后通过指令开启或创建一个数据服务
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()。
如对本文有疑问, 点击进行留言回复!!
MongoDB中数据的替换方法实现类Replace()函数功能详解
理解Redis持久化,RDB持久化和AOF持久化的不同处理方式
网友评论