mongodb数据库在Linux上的使用

来源:互联网 发布:pptv网络电视怎么看直播 编辑:程序博客网 时间:2024/06/05 14:58

mongodb数据库在Linux上的使用

一、 mongodb的使用

(1)which mongod

此步骤的作用是,检测mongodb是否在电脑上安装成功。

(2)mkdir -p /data/db

新建一个/data/db 文件夹,-p表示递归创建。

这个文件夹的作用是用来保存数据库的文件。

(3)df -lh

显示磁盘内存占用情况,-h表示人性化显示

(4)mongod --dbpath=/data/db --port=27017

此命令用来启动mongodb服务。

--dbpath参数用来指定数据库保存的路径;--port参数用来指定端口,这个参数也可以不指定,如果没有指定,那么就会默认启用27017端口进行服务。

(5)mongod --dbpath=/data/db --port=27017 --fork --syslog

此命令是用采用守护进程的方式来启动mongod。

--syslog代表将mongod产生的日志写入系统日志中。

(6)tail -f /var/log/messages

此命令用来跟踪系统日志,当有新的日志被写入messages的时候,就会呗打印在终端界面上。

(7)关掉mongodb进程

mongod --shutdown或者kill 进程端口号两种方式关掉mongodb进程

(8)将mongodb产生的日志写入指定文件夹

mongod --dbpath=/data/db --port=27017 --fork --logpath=/var/log/mongod.log

表示将mongodb采用守护进程的方式运行,并且将日志写入指定路径中。

(9)另外在CentOS 7中,还可以采用一种方式启动mongodb程序

service mongod start 表示启用mongodb服务

service mongod stop表示终止mongodb服务

service mongod restart表示重启mongodb服务

要注意的是,此种启动方式是从官网上看到的,不知道默认系统日志会被写入到哪个路径,并且暂时还不知道数据库文件会被保存到哪个路径之中。

二、mongodb客户端工具的使用

(1)启动的两种方式

  1. 第一种方式是直接在命令行上键入mongo命令,即可启动mongodb的客户端工具
  2. 第二种方式是指定ip地址和端口号,如mongo 127.0.0.1:27017

(2)显示数据库

show dbs命令用来查看当前有哪些数据库

admin   (empty)local   0.000GB

这两个数据库,是mongodb默认的数据库。

(3)创建数据库

不需要用专门的命令来创建数据库,采用use example命令就能切换到example数据库,当这个数据库不存在的时候,就会自动被创建。

但是此时你如果用show dbs命令依旧不能看到这个example数据库,只有当你真正的朝这个数据库中写入数据的时候,这个数据库才会被真正的创建出来

(4)创建集合

使用db.users.insert({"username": "fengruoqing"}); ,创建了一个名为users集合,并为集合中添加第一条数据({"username": "fengruoqing"})

(5)显示集合

show collections ,显示当前数据库中的所有集合

(6)查看集合中所有数据的方法

db.集合的名字.find() ,就会显示集合中所有的数据

db.集合的名字.find().count() ,此命令用来显示集合中含有的数据数据的条数

db.集合的名字.find({"条件"}) ,如果在find()中加入查找条件,就会列出所有符合条件的数据

(7)更新集合中的数据

db.集合的名字.update() ,使用update() 方法来更新函数

update({"条件"},{$set: {"更新后的内容"}},{multi: true}) ,第三个参数没有,或者为false的时候,默认只修改索引到的第一条数据。
而且如果不写$set关键字,与save有同样的效果。

(8)修改集合中的数据

db.集合的名字.save({"_id": ObjectId("xxxxxxxxxxxxxxx"),"key":"value"})

使用此命令,完全修改了集合中指定id的数据,直接就覆盖了原来的数据为新的数据

(9)删除集合中的数据

db.集合的名字.remove({'key':'value'}, true)

如果不指定第二个数据true 那么默认会删除所有符合K-V对的数据,如果指定了,只会删除集合里面第一个满足条件的数据

千万要注意的是,如果remove({}) 里面传入了一个空的条件,那么集合中所有的数据都会被删除掉,但是这个删除数据的方法不会删除集合中的索引,只会删除数据。

如果要想把集合中索引和数据一并删除了,那么就必须使用这个方法db.集合的名字.drop()

(10)导入数据

mongoimport --db test --collection students --drop --file ./test.json -h 192.168.127.128:27017

mongoimport 为导入数据的工具

--db test 指定想要导入的数据库,此处为名为test的数据库

--collection students 指定想要导入的集合,此处导入名为students的集合中

--drop 表示导入之前,清空这个集合中的数据

--file ./test.json 指定想导入数据库的文件的路径,此处表示当前目录下的test.json文件

-h 192.168.127.128:27017 指定主机和端口号

注意的是,导入之前要确保数据库和集合的存在性,不然可能会导入失败

(11)筛选数据

  1. 精确匹配
    db.students.find({"key":"value"}); 精确匹配所有符合条件的数据,而且这个条件可以有多个

  2. 条件匹配
    db.students.find({"key": {$gt:"value"}}); 此处表示条件匹配,查找数据中“key”的值大于“value”的所有数据

  3. 或者条件
    db.students.find({$or:[{"key1":"value2"},{"key2":"value2"}]}); 表示查找符合两个条件之一的数据

  4. 排序
    db.students.find().sort({"score.语文":1, "age":1});
    找到数据以后,加上sort()进行排序,sort函数接受排序条件,“key”里放筛选的类别,然后“value”为1;如果有多个条件,依次按条件进行调整

0 0
原创粉丝点击