mongodb笔记的常用操作

2016-10-2    分类: mongoDB

在windows下mongoDB安装和配置

连接
mongo 127.0.0.1:27017
增:
创建数据库(没就自动创建,有就选择数据库)
use xgllseo

创建集合
db.createCollection("集合名")
添加集合(可以理解为表)、添加字段、插入内容
db.集合名.insert({字段名:内容})

循环插入数据
for(i=3;i<100;i++)db.集合名.insert({字段:i})

 

 

 

删:
删除数据库(选中数据库后才操作)
db.dropDatabase();

删除集合(库)
db.集合.drop()

删除所有键值对相同的数据
db.集合.remove({'title':'教程'}) //删除集合里面条件是{'title':'教程'}的所有文档
db.集合.remove(); //删除此集合中的所有文档

删除字段
db.集合.update({'name':'chenchen'},{$unset:{city:'x'}})  //删除city字段

 

 

改:
修改指定字段内容,只改第一条出现的数据
db.集合.update({字段:旧值},{字段:新值})
或者
db.集合.update({字段:旧值},{$set:{字段:新值}})

统一修改相同字段和相同内容的数据
db.集合.update({name:"哈喽123"},{$set:{name:"哈喽1234"}},{multi:true})
或者
db.集合.update({name:"哈喽123"},{$set:{name:"哈喽1234"}},false,true)
//将多个name:"哈喽123"统一修改为name:"哈喽1234"

更新的数据如果不存在则自动添加,如果已经存在则更新。
db.集合.update({字段:旧值},{字段:新值},true)

 

 

 

查:
查看当前数据库版本
db.version()

查看当前系统所有数据库
show dbs

查看当前切换哪个数据库
db 或者 db.getName()

查看表(要选中库后才能查看表)
show collections 或者 show tables //以列表方式显示
db.getCollectionNames() //以数组方式显示

查看字段内容、查看表里面所有结构
db.集合.find({},{})  //第一参数查找条件,第二参数是否显示指定字段1显示0不显示

查看一共几条数据
db.集合.find().count()

仅仅查看一条数据
db.集合.findOne()

条件搜索
db.xgllseo.find().skip(3).limit(2).sort({x:1})
//先查找xgllseo集合的所有数据,忽略前3条(从第4条开始查找),限制只返回2条,按字段名x的值排列(1是正序,-1是倒序)

模糊查询,配合正则使用(正则用好功能很强大)
db.集合.find({name:/^De/}); //搜索字段name的值,且开头是De的关键词的所有数据
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
(!= )不等于$ne
查找某字段大于100的所有数据
db.集合.find({link : {$gte : 100}})

db.集合.find({link : {$lt :200, $gt : 100}}) //,大于100且小于200
db.集合.find({$or:[{"haha":123},{"name": "我我"}]}) //或(多字段,单一值),只要含有"haha":123、"name": "我我"的数据
db.集合.find({"age":{"$in":[20, 22, 25]}})  //或(单一字段,多值),查找字段是age的值是20或者22或者25的数据
db.集合.find({"age":{"$nin":[20, 22, 25]}})  //或非,查找除了字段是age的值是20或者22或者25的所有数据
db.集合.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}) //且、或组合

 

查看当前数据库所在的服务器IP
db.getMongo()

查看当前切换数据库的信息
db.stats()

查看当前选中哪个数据库
db

 

 

备份、还原/导入、导出

备份指定数据库:

mongodump -h 127.0.0.1:27017 -d xgllseo -o /Users/xgllseo/Desktop/

备份名为xgllseo的数据库并导出到目录/Users/xgllseo/Desktop/中,之后会存在一个xgllseo的文件夹。

 

还原所有数据库:

mongorestore /home/zhangy/mongodb/      //将之前备份好的xgllseo目录放入到/home/zhangy/mongodb/目录中

会将目录 /home/zhangy/mongodb/里面所有的数据库都还原

http://www.jb51.net/article/52498.htm 

 

 

允许远程连接

此方法是在ubuntu系统中为准,安装参考《ubuntu下安装mongoDB

1、首先修改mongodb的配置文件 让其监听所有外网ip

编辑文件:/etc/mongodb.conf

修改后的内容如下:

 bind_ip = 0.0.0.0

 port = 27017

2、/etc/init.d/mongodb restart

 

 

参考:http://www.cnblogs.com/navy235/archive/2012/05/03/2480758.html

http://blog.csdn.net/drifterj/article/details/7833875

http://blog.csdn.net/yczz/article/details/5978800