Mongodb增删改查

举报
花花叔叔 发表于 2022/09/25 22:28:18 2022/09/25
【摘要】 启动数据库 mongodb --path:数据库路径 1 启动客户端 mongo 1 基本指令 显示所有的数据库 show dbs显示所有集合 show collections 增加文档 新...

启动数据库

mongodb --path:数据库路径

  
 
  • 1

启动客户端

mongo

  
 
  • 1

基本指令

  1. 显示所有的数据库
    show dbs
  2. 显示所有集合
    show collections

增加文档

新增一个文档

db.stus.insert({name:"猪八戒",age:28,gender:"男"});

  
 
  • 1

新增一组文档

db.stus.insert([
    {name:"沙和尚",age:28,gender:"男"},
    {name:"白骨精",age:18,gender:"女"},
    {name:"蜘蛛精",age:48,gender:"女"}
])

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

查询

查询所有文档

db.stus.find();

  
 
  • 1

带条件查询

db.stus.find({name:"白骨精",age:18});

  
 
  • 1

find返回的是一个数组,可以通过下标进行获取

db.stus.find({name:"白骨精",age:18})[0];

  
 
  • 1

findOne返回的不是一个数组,返回的是第一个文档对象

db.stus.findOne({name:"白骨精",age:18});

  
 
  • 1

查询文档数目

db.stus.find({}).count();

  
 
  • 1

修改

db.stus.update(查询条件,新对象)

新对象对将旧对象中的所有数据替换掉
默认只会修改第一个对象

db.stus.update({name:"猪八戒"},{age:18});

  
 
  • 1

修改文档中的单个属性

db.stus.update(
    {"_id":ObjectId("632078e44eb8dac8984e07f7")},
    {
        $set:{
            name:"沙僧"
        }    
    }
)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

删除文档中的属性

db.stus.update(
    {"_id":ObjectId("632078e44eb8dac8984e07f7")},
    {	$unset:{
    		address:"中北大学"
    	}    
    }
)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

update也可以修改多个属性

db.stus.update(
    {"name":"白骨精"},
    {
        $set:{
        address:"hhhhhhh"
        }
    },
    {
        multi:true
    }
)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

updateMany()可以修改多个对象

db.stus.updateMany(
    {"name":"白骨精"},
    {
        $set:{
            address:"高老庄"
        }
    }
)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

删除

删除 remove 传递条件方式和move一样 删除所有的符合条件的 默认情况下会删除多个

db.stus.remove({_id:ObjectId("6320564db43a8991618e4811")})

  
 
  • 1

如果remove()第二个参数传递了一个true,则只删除一个

db.stus.remove({name:"白骨精"},true);

  
 
  • 1

如果只传递一个空对象,则清空集合,性能略差,先匹配,后删除

db.stus.remove({});

  
 
  • 1

删除集合

db.stus.drop();

  
 
  • 1

删除数据库

db.dropDatabase(); 

  
 
  • 1

逻辑删除

db.stus.insert([
    {
        name:"zbj",
        isDel:0
        },
    {
    name:"ts",
        isDel:0
        },
    {
    name:"swk",
        isDel:0
    }
]);

db.stus.updateOne({name:"ts"},{$set:{isDel:1}});

db.stus.find({idDel:0});

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

文章来源: blog.csdn.net,作者:花花叔叔,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_52077949/article/details/126865054

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。