mongodb学习摘录

微笑 与大家分享,整理如下:


1、创建服务:

mongod --logpath d:\Cloud\mongodb\logs\nongodb.log --logappend --dbpath d:\Cloud\mongodb\data --directoryperdb --install
mongod --dbpath "D:\Cloud\NoSql\mongodb2\data" --logpath "D:\Cloud\NoSql\mongodb2\data\logs.txt" --install --serviceName "MongoDB"


2、端口:
[initandlisten] waiting for connections on port 27017
[websvr] web admin interface listening on port 28017


3、语法命令:

1) 常用命令:
mongod.exe --dbpath "d:\mongodb\data\db" --directoryperdb --logpath "d:\mongodb\data\logs" --logappend
mongo.exe
>show dbs
>use memo //使用 数据库 memo
>show collections //列出当前数据库的collections
>db //显示当前数据库
>show users //列出用户
help //更多语法

2) 创建数据库与数据集合:
>db
>show dbs
>use test2
>db.createCollection("t_test");
>use test2
>db
>t={name:"hb",addr:"shanghai"};
>db.t_test.find();
>db.t_test.save(t);
>db.t_test.find();
>db.t_test.insert({name:"test",addr:"beijing"});
>db.t_test.save({name:"test2",addr:"tianjin",phone:"025-0001"});


3) 数据查询:
db.t_test.find() //select * from t_test
db.t_test.find().limit(2) //select * from t_test limit 2
db.t_test.find().sort({x:1}) //select * from t_test order by x asc
db.t_test.find().sort({x:1}).skip(2).limit(3) //select * from t_test order by x asc limit 2,3
db.t_test.find({x:10}) //select * from t_test where x = 10
db.t_test.find({x:{$lt:10}}) //select * from t_test where x<10
db.t_test.find({x:{$in:["01","03","10"]}}); // select * from t_test where x in ("01","03","10")
db.t_test.find({},{y:true}) //select y from t_test
db.t_test.find().count();
db.t_test.find({"address.city":"gz"}) //搜索嵌套文档address中city值为gz的记录
db.t_test.find({likes:"math"}) //搜索数组
db.t_test.ensureIndex({"address.city":1}) //在嵌套文档的字段上建立索引


4) 更新数据:


db.t_text.update({},{}) //第一个参数是查询对象,第二个是替代对象,要使用$set
db.t_test.update({name:"test"},{$set:{addr:"shenZheng"}});
db.t_test.find();


5) 数据删除:
db.t_test.remove({name:"test2"}); //删除数据
db.t_test.find();
show collections
db.t_test.drop(); //删除数据集合(表)
use test2
db.dropDatabase();


6)索引:
db.t_test.ensureIndex({productid:1}) //在productid上建立普通索引
db.t_test.ensureIndex({productid:1,plate:1}) //多字段索引
db.t_test.ensureIndex({productid,1},{unique:true}) //唯一索引


7) 备份与恢复:
mongodump.ext --help
mongodump.ext -d test -o ../data/backup/test //备份数据库test中所有的数据集合
mongorestore.exe --help
mongorestore.exe -d "test" D:\Cloud\NoSql\mongodb2\data\backup\test //恢复数据库test
mongorestore.exe -d test -c t_sysusers D:\Cloud\NoSql\mongodb2\data\backup\test\t_sysusers.bson //恢复数据库test中的表t_sysusers的数据


8) 数据导入导出:
json或cvs格式,每次一个collection
数据导出:mongoexport.exe --help
mongoexport.exe -d test -c t001 -o D:\Cloud\NoSql\mongodb2\data\backup\test_t001.json //导出test库的t001(集合)表数据
数据导入:mongoimport.exe --help
mongoimport.exe -d test -c t004 -drop  D:\Cloud\NoSql\mongodb2\data\backup\test_t001.json //从t001.json导入到t004(若果存在先drop)

9) 安全与认证:
use test2 //选择数据库
db.addUser("username","password") //普通权限,可读写
db.addUser("username","password",true) //可读、不可写
db.system.users.remove({user:"username"}) //删除用户
 其他语法:
>use test;
>j={name:"hongbo"};
>t={addr:"shanghai"};
>db.test.save(j);
>db.test.save(t);
>db.test.find();
>for(var i=1;i<200;i++) db.test.save({name:"name"+i,addr:"shanghai0"+i,phone:"020-"+i});
>db.test.find();
>db.test.find().count();
>var cursor = db.test.find().skip(100).limit(200);
>while (cursor.hasNext())printjson(cursor.next());
>db.test.find().forEach(pringjson);
>var arr = db.test.find().limit(10).toArray();
>arr[2];
>var cur = db.test.find();
>printjson(cur[5]);


10) 运算符:

$lt (小于)
$lte (小于等于)
$gt (大于)
$gte (大于等于)
$all (匹配数组中的所有值)
$exists (检查字段是否存在)
$mod (模数)
$ne (不等)
$in (匹配数组一个或多个值)
$nin (匹配数组中的零值)
$or (匹配一个或另一个查询)
$nor (不匹配查询)
$size (匹配具有预定数量元素的任何数组)
$type (匹配具有指定 BSON 数据类型的值)
$not (不等于)


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值