博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDb数据库操作命令集锦
阅读量:5259 次
发布时间:2019-06-14

本文共 6326 字,大约阅读时间需要 21 分钟。

1.mongoDB的启动        1.开启服务 sudo mongod        2.开启客户端  mongo         db.createUser({user:"bbb",pwd:"123456",roles:[{role:"read",db:"test"}]})2.数据库的操作:        1. 查看所有的数据库         show dbs        2. 切换数据库               use  xxx        3. 查看数据库的集合(表)     show  collections        4. 数据库的创建 有值自动创建        5. 删除数据库              1.进入当前数据库  2. db.dropDatabase()        6. 查看当前数据库           db        7. 创建数据库fruit    1.use fruit  2.db.createCollection("apple")            在创建表applea的时候就会自动创建数据库fruit3.集合(表)操作:        1. 查看集合     show collections        2. 创建集合     db.createCollection("xxx")        3. 删除集合     db.xx.drop()4.文档(行)的增删改:        1.增加数据 db.xx.insert({key:value})            db.stu.insert({_id:1,name:"隔壁老万",age:88,gender:false})                        data_dict = {                name:"小明",                age:12,                gender:false            }            db.stu.insert(data_dict)            db.stu.insert({_id:1,name:"王宝强",age:35,gender:false})            db.stu.insert({_id:2,name:"陈羽凡",age:28,gender:false})            db.stu.insert({_id:3,name:"贾乃亮",age:20,gender:false})            db.stu.insert({_id:4,name:"马蓉",age:16,gender:true})            db.stu.insert({_id:5,name:"白百何",age:18,gender:true})            db.stu.insert({_id:6,name:"李小璐",age:28,gender:true})            db.stu.insert({_id:7,name:"PGone",age:88,gender:true,like:"洗头发"})                    2. 删除数据:db.xx.remove(删除的条件)             1.全部删除                db.stu.remove({})             2.根据条件删除: 默认是删除 所有符合条件的数据                db.stu.remove({age:28})             3. 只删除符合条件的第一个                db.stu.remove({gender:true},{justOne:true})        3.改 update: db.xx.update({查找的条件},{修改的内容})             1. 修改内容: 默认其他原有字段删除了 替换掉原有数据                db.stu.update({age:20},{name:"皮几万"})                db.stu.update({name:"白百何"},{like:"小鲜肉"})            2. 保持原有的字段 加一个修饰 $set: 默认 只修改第一个且对已存在的原有属性是替换,不存在的属性是添加                db.stu.update({age:35},{$set:{like:"喝牛奶"}}) // 把like:"喝牛奶"添加到原数据里面 并不是替换                db.stu.update({name:"李小璐"},{$set:{age:10}}) // 把原数据中的age:28替换为age:10                db.stu.update({gender:false}, {$set:{age:66}})            3. 修改所有符合条件的数据 multi   把所有满足条件的name换成"甜心"                db.stu.update({gender:true}, {$set:{name:"甜心"}},{multi:true})                //运行结果:                // { "_id" : 4, "name" : "甜心", "age" : 16, "gender" : true }                // { "_id" : 5, "name" : "甜心", "age" : 18, "gender" : true }                // { "_id" : 6, "name" : "甜心", "age" : 28, "gender" : true }                //  { "_id" : 7, "name" : "甜心", "age" : 88, "gender" : true, "like" : "洗头发" }        4.save: 针对是 _id 整个替换掉原id中的数据                db.stu.save({_id:7,name:"特朗普",age:"70",gender:false})                // 结果:{ "_id" : 7, "name" : "特朗普", "age" : "70", "gender" : false }                db.stu.save({_id:1,name:"马蓉"})                // db.stu.save({name:"皮几万"}) 是错误写法 因为save()必须有_id5.文档查询简单查询:            1.基本查询 db.xx.find({查询条件})                1.查询所有的数据                     db.stu.find()                    db.stu.find({})                2.默认查出 所有的符合条件的数据                    db.stu.find({gender:true})                3.查找符合条件的第一个                    db.stu.findOne({gender:true})                4. 格式化输出 pretty()                    db.stu.find({age:28}).pretty()            2.条件运算符 $lt< $gt> $lte<= $gte>= $ne!= 数字对比                // 年龄 大于18岁的人                db.stu.find({age:{$gt:18}})                // 年龄 不b等于18的                db.stu.find( {age: {$ne:18}})            3.逻辑运算 $and $or                 1.$and 默认的查询条件就是 且的关系                    db.stu.find({age:28,gender:false})                    $and:                    db.stu.find({                        $and:[                            {age:28},                            {gender:true}                        ]                    })                2. $or                     // 年龄小于30或者 性别 男                    db.stu.find({                        $or:[                            {age:{$lt:30}},                            {gender:false}                        ]                    })                3.混合使用 $and $or                    // 年龄小于30必须性别 男, 或者年龄大于60                    db.stu.find({                        $or:[                            {                                $and:[                                    {age:{$lt:30}},                                    {gender:false}                                ]                            },                            {age:{$gt:60}}                        ]                    })                4.范围运算: $in $nin                    // 年龄范围在 16,18,88                    db.stu.find({                        age:{$in:[16,18,88]}                    })                    db.stu.find({                        name:{$nin:["贾乃亮"]}                    })                5.正则表达式:                    1. /表达式/ 2.$regex:"表达式"                    db.stu.find({                        name:/凡/                    })                    {
/*结果:{ "_id" : 2, "name" : "陈羽凡", "age" : 28, "gender" : false, "erzhan" : "piger" }*/} db.stu.find({ name:{$regex:"凡"} }) 忽略大小写 i db.stu.find({ name:/pgone/i }) db.stu.find({ name:{$regex:"pgone",$options:"i"} }) 6.自定义函数 $where:带返回值的匿名函数 // 年龄大于18 db.stu.find({ $where:function () { return this.age > 18 } }) 查询结果的显示: skip:跳过几个查看 db.stu.find().skip(2) limit:允许查看几个 db.stu.find().limit(2) db.stu.find().skip(2).limit(2) db.stu.find().limit(2).skip(2) sort: 升序 和降序 字段 1升序 -1降序 // 年龄排序 db.stu.find().sort({age:1}) 投影: 你显示哪些字段, 字段:1, 默认:0 db.stu.find({gender:true},{age:1,name:1}) 去重: distinct(去重的字段,{查询条件}) db.stu.distinct("hometown", {age:{$lt:100}})
Demo

 

 

转载于:https://www.cnblogs.com/m-j-y/p/8848993.html

你可能感兴趣的文章
OC知识点归纳
查看>>
团队项目之代码规范
查看>>
102-编写第一个程序 Hello world
查看>>
apache common configuration
查看>>
委托与事件(续)
查看>>
深入浅出话XAML-学习笔记
查看>>
python-作用域
查看>>
【转】Eclipse插件大全介绍及下载地址
查看>>
【转】 #1451 - Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法...
查看>>
[转]关于 initWithNibName 和 loadNibNamed 的区别和联系
查看>>
SpringBoot Mybatis keyProperty和useGeneratedKeys的作用
查看>>
vue+webpack 打包文件 404 页面空白
查看>>
微信公众平台开发教程(一) 微信公众账号注册流程
查看>>
怎么实现CSS限制字数,超出部份显示点点点.
查看>>
Go.js 没有中文文档 也没有中文demo 学起来很费劲 给大家整理一个算是详细的文档...
查看>>
myeclipse2014 破解步骤
查看>>
《构建之法》(八)
查看>>
Netty服务端与客户端(源码一)
查看>>
2017CCPC'S Xiangtan
查看>>
MySql数据库的时间转换问题
查看>>