Mongodb增删改查

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

启动数据库

mongodb --path:数据库路径

  
 

启动客户端

mongo

  
 

基本指令

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

增加文档

新增一个文档

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

  
 

新增一组文档

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

  
 

查询

查询所有文档

db.stus.find();

  
 

带条件查询

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

  
 

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

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

  
 

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

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

  
 

查询文档数目

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

  
 

修改

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

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

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

  
 

修改文档中的单个属性

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

  
 

删除文档中的属性

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

  
 

update也可以修改多个属性

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

  
 

updateMany()可以修改多个对象

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

  
 

删除

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

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

  
 

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

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

  
 

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

db.stus.remove({});

  
 

删除集合

db.stus.drop();

  
 

删除数据库

db.dropDatabase(); 

  
 

逻辑删除

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});

  
 

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

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

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

作者其他文章

评论(0

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

    全部回复

    上滑加载中

    设置昵称

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

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

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