>show dbs #显示当前mongodb的数据库有哪些库
ctrl+c 退出客户端--》关闭
>use mydb;
>db; #显示当前是哪个数据库
//user在mongo中叫集合collection
//每行数据,被称为一个文档
bson --- json
db.user.insert({uname:"tom",pwd:"abc123",height:173,birthday:ISODate("1997-10-01")})
show collections; #显示当前数据库集合
db.user.find();#查询数据库
db.user.insert({uname:"jack",pwd:"abc234",height:175,birthday:ISODate("1998-09-15")})
db.user.insert({uname:"rose",pwd:"a567",sex:1,height:176,birthday:ISODate("1987-08-25")})
------------------------------------------------------------------
bson ---json
json(Javascript object notation )
key:value结构的字符串{"key1":"value1","key2":"value2"}
json与xml对应,是网络传输的重要数据格式
bson(Binary Serialized Document Format)
json所有的数据库都是字符串,bson有整型/日期型等
bson有三个特点:轻量性,可遍历性,高效性
db.user.insert({uname:"john",pwd:"a567",sex:1,height:165,birthday:ISODate("1989-07-21"),address:["地址1","地址2","地址3"]})
//内嵌型文档结构 体现一对多 多对一关系 在数据里直接显示了 不需要联合查询了 速度快远远高于关系型数据库
db.user.insert({uname:"timy",pwd:"a567",sex:1,height:165,birthday:ISODate("1989-07-21"),
address:["地址1","地址2","地址3"],
phone:[
{pno:"13122213211",cs:"联通"},
{pno:"18111132116",cs:"联通"},
{pno:"13922888666",cs:"联通"}
]
}) ;
db.user.insert({uname:"jack2",pwd:"a567",sex:1,height:165,birthday:ISODate("1989-07-21"),
address:["地址1","地址2","地址3"],
phone:[
{pno:"13122213211",cs:"联通"},
{pno:"18111132116",cs:"联通1"},
{pno:"13922888666",cs:"联通3"}
]
}) ;
db.user.insert({uname:"rose",pwd:"a567",sex:1,height:165,birthday:ISODate("1989-07-21"),
address:["地址1","地址2","地址3"],
phone:[
{pno:"13122213211",cs:"联通"},
{pno:"18111132116",cs:"移动"}
]
}) ;
db.user.insert({uname:"trasy",pwd:"a567",sex:1,height:165,birthday:ISODate("1989-07-21"),
address:["地址1","地址2","地址3"],
phone:[
{pno:"13122213211",cs:"联通"},
{pno:"18111132116",cs:"移动"}
]
}) ;
//查看数据个数
db.user.find().count();
//增删改查
删:条件的删除
db.user.remove({uname:"jack"})
查:条件的查看
db.user.find({uname:"jack"});
db.user.find({uname:"tom"});
db.user.find({uname:/j/});//模糊查询 正则表达式
db.user.find({height:{$gt:170,$lt:180}}); //大于170 小于180
db.user.find({birthday:{$lt:ISODate("1997-10-01")}}); //小于97年的
db.user.find().limit(5);//显示5条数据
db.user.find().skip(10).limit(5); //跳过前面10条 ,查后面的5条 分页
修改
db.user.update({uname:"tom"},{$set:{pwd:"123456"}});
插入 for循环是js语法
for(i&#61;0;i<1000;i&#43;&#43;){
db.user.insert({uname:"tom"&#43;i,pwd:"abc123",height:173,birthday:ISODate("1997-10-01")});
}
cls 清屏
内嵌文档的增删改查
db.user.drop();//删除集合
//查询 厂商是移动的用户信息
db.user.find({phone:{$elemMatch:{cs:"移动"}}});
//修改
db.user.update({uname:"trasy","phone.pno":"13122213211"},{$set:{"phone.$.cs":"移动233"}});
db.user.update({uname:"trasy"},{$push:{phone:{pno:"13122213211",cs:"联通66666"}}});//插入子集合数据
db.user.update({uname:"trasy"},{$pull:{phone:{pno:"13122213211",cs:"联通66666"}}});//移除子集合数据