MongoDB基本概念:
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MongoDB服务器端启动:
./bin/mongod --dbpath=路径 --port=27017 --fork --logpath=/var/etc/log/mongod.log
./bin/mongod --dbpath=路径 --port=27017 --fork --syslog //--fork后台运行,必须加入日志文件位置参数
./bin/mongod --dbpath=路径
MongoDB客户端启动:
./bin/mongo
CURD常用命令:
show dbs; //展示所有的文档(数据库) show collections;//展示所有的集合(表)
db.users.drop();//删除整个集合 use aa;//创建或选中一个文档(需成功插入一个集合才创建成功)
db.users.insert( //插入单条 { name:"xiaosan", age:18 } ) //需要先创建集合,再插入数据
db.users.save(//插入单挑数据{name:'jack',sex:'male'}) //可以在不创建集合的前提下插入数据
db.users.insertMany(//插入多条 [ {name:"xiaosan",age:18}, {name:"xiaosi",age:24}, ] )
db.users.find({name:"xiaosan",age:18}).toArray(); //查询
db.users.find().pretty() //查询所有数据 pretty在windows下无效
db.users.findOne({_id:ObjectId("...")});//查询一条数据
db.users.find().count();//查询记录的条数
db.users.update(//修改 {age:{$gt:18},name:"xiaosan"}, {$set:{status:'a'}}, true,//是否插入数据 默认false,//是否更新多条 默认false );
db.users.remove({});//删除所有db.users.remove({name:"xiaosan"});//删除