Mongodb学习笔记

回复 收藏
www.mongodb.org
docs.mongoing.com/manual-zh/中文文档
Github.Inc mongodb源码 所有版本
mongodb-user
mongodb-cn 论坛


源码安装mongo-r2.6.5.zip
/cd mongo-r2.6.5
/scons all ##编译
/scons all -j 2[所需核数]
直接安装2进制


mongod 执行程序 部署数据库
mongo 客户端
mongoimport mongoexport 导入导出
mongorestore 导入导出二进制数据 备份恢复
mongooplog 记录操作记录 操纵日志回放
mongostat 查看服务器状态 监控使用


搭建一个简单mongodb服务器
mkdir mongodb_simple 并进入
cd mongodb_simple
mkdir data  ##数据文件
mkdir log   ##日志文件
mkdir conf        ##配置文件
mkdir bin   ##存储二进制文件
cp ../mongo-r2.6.5/mongod bin/
cd conf/
vim mongod.conf #配置启动文件
port = 80 #连接的端口
dbpath = data #数据存储目录 相对 绝对路径均可
logpath = log/mongod.log #日志路径
fork = ture ##启动的是后台进程


cd..
./bin/mongod -f conf/mongod.conf #看是否成功
tail mongod.log ##开始正常打印数据
可以开始简单的服务。


客户端连接
mongo 客户端连接
cd mongodb-simple/
cp ../mongo-r2.6.5/mongo bin/
./bin/mongo --help
./bin/mongo 127.0.0.1:80/test
....
>  #成功连接
use admin 切换用户
db.shutdownServer() ##关闭


numactl --interleave=all bin/mongod -f conf/mongod.conf  #提示需要这样做
...waiting for connections on ..
./bin/mongo 12.0.0.1:80
connection...   #成功连接数据库
-----------------------------------------------------------
mongodb 基本操作
./bin/mongo 127.0.0.1:80
show dbs #查看数据库
use imooc #切换数据库
db.dropDatabase() #删除数据库
use imooc #自动创建了数据库
db.imooc_collection.insert({x:1}) #插入数据
db.imooc_collection.find()  #可为空,默认返回所有文档
_id mongodb自己生成 不会重复
db.imooc_collection.insert({x:2,_id:1}) #自己设置id
db.imooc_collection.insert({x:1}) #用id进行查找文档
for(i=3;i<100;i++)db.imooc_collection.insert([x:i])
db.imooc_collection find()
db.imooc_collection.find().count() #进行计数
db.imooc_collection.find().skip(3).limit(2).sort({x:1})
##从第三条数据开始排序,限制为2条,利用id排序


db.imooc_collection.update({x:1},{x:999})         数据更新
db.imooc_collection.insert({x:100,y:100,z:100})   若要替换z
db.imooc_collection.update({z:100},{y:99}) 这样会将x,z覆盖
db.imooc_collection.update({z:100},{$set{y:99}})
$set 部分操作符  只将set选中的进行替换
db.imooc_collection.find({y:100})  不存在
db.imooc_collection.update({y:100},{y:999}) 进行不存在的更
在不存在时自动插入
db.imooc_collection.update({y:100},{y:999},ture)
ture来判断若没有数据则插入
update 只会更新默认找到的第一条数据
db.imooc_collection.update({c:100},{$set:{c:2}},false,ture)
这样即可更新多条数据
删除只能传递一个参数 不接受不传入参数
db.imooc_collection.remove()  报错
db.imooc_collection.remove({c:2})
db.imooc_collection.drop()  删除表


db.imooc_collection.getIndexes() 查看集合的索引
db.imooc_collection.ensureIndex({x:1}) 正向排序
在数据库创建时就应该完成索引添加



2016-02-26 11:20 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: