使用mongodb

wangxingg 2020-07-08

远程登录mongo 192.168.184.134// 使用哪个数据库,切换到哪个数据库,如果数据库不存在,不会创建
// 数据库下必须有集合,且集合里有数据,数据库才会创建
use spitdb;
// 使用哪张表
db.集合名称.命令
// 插入一条记录
db.spit.insert({content:"听说十次方课程很给力呀",userid:"1011",nickname:"小雅",visits:NumberInt(902),title:"十次方"});
db.spit.insert({_id:1,content:"听说十次方课程很给力呀",userid:"1011",nickname:"小雅",visits:NumberInt(902)});
db.spit.insert({_id:NumberInt(21),content:"听说十次方课程很给力呀",userid:"1011",nickname:"小雅",visits:NumberInt(902)});

db.spit.insert({_id:"1",content:"我还是没有想明白到底为啥出错",userid:"1012",nickname:"小明",visits:NumberInt(2020)});
db.spit.insert({_id:"2",content:"加班到半夜",userid:"1013",nickname:"凯撒",visits:NumberInt(1023)});
db.spit.insert({_id:"3",content:"手机流量超了咋办?",userid:"1013",nickname:"凯撒",visits:NumberInt(111)});
db.spit.insert({_id:"4",content:"坚持就是胜利",userid:"1014",nickname:"诺诺",visits:NumberInt(1223)});
// 查询所有
db.spit.find();
// 条件查询 查询userid=1013的信息  db.spit.find({key:value, key....})
db.spit.find({userid:"1013",_id:"2"});
// 只返回符合条件的一条记录
db.spit.findOne({userid:‘1013‘})
// 分页 第二页,每页显示2条记录  mysql limit start,size
db.spit.find().skip(0).limit(2);

// 修改 db.spit.update({条件},{修改后的记录}), 先删除再插入
// 如果我们想修改_id为1的记录,浏览量为1000,输入以下语句:
db.spit.update({_id:"1"},{visits:NumberInt(1000)})
// 使用更新器db.spit.update({条件},{$set:{key:value,...}})
db.spit.update({_id:"2"},{$set:{visits:NumberInt(1000)}})

// 删除  db.spit.remove({条件})
// 删除所有 慎用
db.spit.remove({});
db.spit.remove({_id:"1"});

// 统计个数db.spit.count
db.spit.count();

//如果按条件统计 ,例如:统计userid为1013的记录条数
db.spit.count({userid:"1013"});
// 模糊查询 /内容/
// 我要查询吐槽内容包含“流量”的所有文档,代码如下:
// 以什么打头 ^   以什么结尾$
db.spit.find({content:/流量/})
// 查询以 坚持 打头的记录
db.spit.find({content:/^坚持/})
// 查义以 半夜 结尾
db.spit.find({content:/半夜$/})

// 大于 小于 不等于
db.集合名称.find({ "field" : { $gt: value }}) // 大于: field > value greater than
db.集合名称.find({ "field" : { $lt: value }}) // 小于: field < value less than
db.集合名称.find({ "field" : { $gte: value }}) // 大于等于: field >= value  greater than and equals
db.集合名称.find({ "field" : { $lte: value }}) // 小于等于: field <= value
db.集合名称.find({ "field" : { $ne: value }}) // 不等于: field != value not equals

// 查询吐槽浏览量大于1000的记录
db.spit.find({visits:{$gt:NumberInt(1000)}});

// 包含$in与不包含 $nin
//查询吐槽集合中userid字段包含1013和1014的文档
db.spit.find({userid:{$in:["1013","1014"]}});
// 查询吐槽集合中userid字段不包含1013和1014的文档
db.spit.find({userid:{$nin:["1013","1014"]}});

// $and:[ {  },{  },{ } ]  多个条件同时成立
//查询吐槽集合中visits大于等于1000 并且小于2000的文档
// {visits:{$gte:NumberInt(1000)}}
// {visits:{$lte:NumberInt(2000)}}
db.spit.find({$and:[{visits:{$gte:NumberInt(1000)}},{visits:{$lte:NumberInt(2000)}}]});

// 查询吐槽集合中userid为1013,或者浏览量小于2000的文档记录
// $or: [ {  },{  },{   } ] 只要有一个成立即可
// {userid:"1013"}
// {visits:{$lt:NumberInt(2000)}}
db.spit.find({$or:[{userid:"1013"},{visits:{$lt:NumberInt(2000)}}]})

// 列值增长 $inc:{key:value} 
// 给userid为1013的记录增长它的访问量
// 只能修改到一条记录,不能批量更新
db.spit.update({userid:"1013"},{$inc:{visits:NumberInt(10)}});
db.spit.update({},{$set:{visits:NumberInt(10)}});


// mysql --备份表
create table label_bk as select * From tb_label;
create table label_2 as select * from tb_label where 1=2;

相关推荐