使用mongodb

Posted 自然的风和雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用mongodb相关的知识,希望对你有一定的参考价值。

远程登录
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;

 

以上是关于使用mongodb的主要内容,如果未能解决你的问题,请参考以下文章

mongodb关联查询

ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项

无法在 MongoDB(猫鼬)文档中追加数组

在 Spring MongoDB 的 ReplaceRoot 管道阶段使用 $mergeObjects

MongoDB atlas 成本计算,以及如何节省成本

如何创建一个查询来查找 2 个数字之间的值,这些数字是 MongoDB 中的字符串类型