1.MongoDB的基本使用
MongoDB,是非关系型数据库,也叫做文档数据库,这类数据库没有表和行的概念,有的只有类似含义的集合和文档,集合与关系型数据库中的表有点类似。文档与关系型数据库中的行,有点关联。但是在一个集合之内,文档的数据结构有可能是不一样的。
2. 服务器的启动
a)首先第一步,我们需要指定mongod的数据目录,假如说,我们把数据存储在根目录下的data/db目录下:
mkdir -p /data/db;
b)启动服务:mongod --dbpath = /data/db --port=27017
--dbpath=/data/db:指定mongodb的文件目录
--port:指定服务监听的端口,如果我们不指定,就是默认的端口
回车后出现:waiting for connections on port 27017
表示已经在27017这个端口上监听了,如果要结束这个服务的话,直接按ctrl+c就可以了。
c)mongod的启动也可以设置多个参数比如:--fork:
--fork:以守护进程的方式进行启动.
假如一个参数fork,我们使用fork的时候,必须指定,我们服务器存储日志的位置。
比如说,我们直接存储在系统日志里面:
mongod --dbpath=/data/db --port=27017 --fork --syslog
d)除了,把日志输入到系统目录呢,其实我们还可以指定mongodb日志输出文件:
mongod --dbpath=/data/db --port=27017 --fork --logpath=/var/log/mongod.log
tip:通过后台运行的进程,我们如何结束这个进程呢:
1) kill 端口号(以这样的方式来终止进程的运行)
2.MongoDB客户端启动:
1)输入命令:mongo
默认的情况下是连接的本机的默认端口的服务,
2)手动指定:
mongo 主机名:端口号
eg:mongod localhost:27017
3. mongodb的语句
1. show dbs;//展示所有的文档
2. show collections;//展示所有的集合
3. use aa;//创建或选中一个aa文档,不是真实创建的,必须成功插入集合,才能够真正的创建集合
4. db.aa.insert({"name":"xiaoyu","age":10});//插入一条数据
5. db.aa.insertMany([
{name:"hehe","age":20},
{name:"mingming","age":30}
]);
6.db.aa.find():查找所有的集合
7. db.aa.find({"name":"hehe"}),根据条件查找
8.db.aa.find({"age":{$gt:10}})//大于10
9.db.aa.find({"age":{$lt:20}})//大于10
10.db.aa.find({"age":{$gte:20}})// >=10
11. db.aa.find({"age":{$lte:20}})// <=10
12.db.aa.find({"age":{$ne:20}})// !=10
13. db.find().toArray():将查询到的数据组成一个数组对象
14.db.findOne({"_id"}:ObjectId("...")):查询一条数据
15. db.update({
“name”:"hehe"
},
{
$set:{'age':20}
},
{
multi:true
});
允许多行修改
16. db.users.update({name:"xiaoyu"},{$set:{"age":20}},false)
//false是修改,true是插入
17.db.users.update({name:"xiaoyu"},{$set:{"age":20}},false,true);
允许多行修改
18. 1)删除所有的
db.users.remove({});
2)//删除带条件的
db.users.remove({"name":"xiaoyu"});
3)删除整个集合
db.users.drop();
19.统计查询纪录的条数
db.users.find().count();
网友评论