mongodb学习:
##mongodb基础
##数据库常用命令
##用户相关
##修改、添加、删除集合数据
##条件操作符
##创建表
-----------------------------------------------------------------------------
##mongodb基础
MongoDB由databases(相当于Mysql的数据库)组成,
databases由collections组成(collection相当于Mysql的表)
collections由documents组成(document相当于Mysql的行),
documents由fields组成(fields相当于Mysql的列)
在mongodb中使用一种类json的bson存储数据。bson数据可以理解为在json的基础上添加了一些json中没有的数据类型。
mongodb是异步写数据
MongoDB没有创建数据库的命令,但有类似的命令。
如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection(‘user‘)),这样就可以创建一个名叫“myTest”的数据库。
-----------------------------------------------------------------------------
##数据库常用命令
输入help可以看到基本操作命令:
Help查看命令提示
help
db.help();
db.yourColl.help();
db.youColl.find().help();
rs.help();
切换/创建数据库
use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库
查询所有数据库
show dbs;
查看当前使用的数据库
db;
db.getName();
db和getName方法是一样的效果,都可以查询当前使用的数据库
显示当前db状态
db.stats();
创建一个聚集集合(table)
db.createCollection(“collName”, {size: 20, capped: 5, max: 100});
db.createCollection(“mytb”);
得到指定名称的聚集集合(table)
db.getCollection("account");
得到当前db的所有聚集集合
db.getCollectionNames();
显示当前db所有聚集索引的状态
db.printCollectionStats();
当前db版本
db.version();
查看当前db的链接机器地址
db.getMongo();
删除当前使用数据库
db.dropDatabase();
修复当前数据库
db.repairDatabase();
从指定主机上克隆数据库
db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库
从指定的机器上复制指定数据库数据到某个数据库
db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中
在表中增加一条数据:
db.mytb.Save({id:1,name:"tester"});
-----------------------------------------------------------------------------
##用户相关
添加一个用户
db.addUser("name");
db.addUser("userName", "pwd123", true); 添加用户、设置密码、是否只读
数据库认证、安全模式
db.auth("userName", "123123");
显示当前所有用户
show users;
删除用户
db.removeUser("userName");
-----------------------------------------------------------------------------
##修改、添加、删除集合数据
添加
db.users.save({name: ‘zhangsan’, age: 25, sex: true});
添加的数据的数据列,没有固定,根据添加的数据为准
修改
db.users.update({age: 25}, {$set: {name: ‘changeName‘}}, false, true);
相当于:update users set name = ‘changeName’ where age = 25;
db.users.update({name: ‘Lisi‘}, {$inc: {age: 50}}, false, true);
相当于:update users set age = age + 50 where name = ‘Lisi’;
db.users.update({name: ‘Lisi‘}, {$inc: {age: 50}, $set: {name: ‘hoho‘}}, false, true);
相当于:update users set age = age + 50, name = ‘hoho’ where name = ‘Lisi’;
删除
db.users.remove({age: 132});
查询修改删除
db.users.findAndModify({
query: {age: {$gte: 25}},
sort: {age: -1},
update: {$set: {name: ‘a2‘}, $inc: {age: 2}},
remove: true
});
db.runCommand({ findandmodify : "users",
query: {age: {$gte: 25}},
sort: {age: -1},
update: {$set: {name: ‘a2‘}, $inc: {age: 2}},
remove: true
});
-----------------------------------------------------------------------------
##条件操作符
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
-----------------------------------------------------------------------------
#####################################
##创建表
use mydb;
db.addUser("snow","snow");
db.auth("snow","snow");
db.createCollection("test");
show collections;
db.test.save({id:1,name:"tester"});
db.test.find();
#####################################
use mydb;
db.mydb.insert(document);
document=({"user_id" : "ABCDBWN","password" :"ABCDBWN" ,"date_of_join" :"15/10/2010" ,"education" :"B.C.A." , "profession" : "DEVELOPER","interest" :"MUSIC","community_name" :["MODERN MUSIC", "CLASSICALMUSIC","WESTERN MUSIC"],"community_moder_id" : ["MR. BBB","MR. JJJ","MRMMM"],"community_members" : [500,200,1500],"friends_id" :["MMM123","NNN123","OOO123"],"ban_friends_id" :["BAN123","BAN456","BAN789"]});
#####################################