zoukankan      html  css  js  c++  java
  • MongoDB增删改

    一、数据库操作

    显示现有的数据库,命令:show dbs 或者 databases;

    示当前使用的数据库,命令:db

    切换当前使用的数据库,命令:use 数据库名称

    删除数据库,命令:db.dropDatabase()

    二、Collection 操作

    显示现有的集合,命令:show collections 或者 tables;

    插入并保存文档 insert方法,可以单独插入一个文档,也可以插入多个,用“[ ]”即可,每个Doc必须小于16MB

    db.user.insert({"user_id":"u1","score":90});

    删除文档 remove,只是删除文档,集合还在;如果使用 drop命令,会连带集合和索引都删掉

    db.user.remove({"user_id":"u1"});
    
    db.user.drop();

    文档替换,命令: db.集合名称. update(条件,新的文档);

    db.collection.update(
       <query>,
       <update>,
       {
         upsert: <boolean>,
         multi: <boolean>,
         writeConcern: <document>
       }
    )
    参数说明:
    query : update的查询条件,类似sql update查询内where后面的。
    update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
    upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    writeConcern :可选,抛出异常的级别。

    $set :指定一个字段的值,如果字段不存在,会创建一个

    db.user.update({"user_id":"u1"},{$set:{"name":"name1"}});

    $unset :删掉某个字段

    db.user.update({"user_id":"u1"},{$unset:"name"});

    $inc : 用来增加已有键的值,如果字段不存在,会创建一个。只能用于整型、长整型、或双精度浮点型的值

     db.user.update({"user_id":"u1"},{$inc:{"score":5}});

    $push:向已有数组的末尾加入一个元素,要是没有就新建一个数组

    db.user.update({"user_id":"u1"},{$push:{"xueke":"hx"}});

    $each:通过一次$push来操作多个值

    db.user.update({"user_id":"u1"},{$push:{"xueke":{$each:["yy","gs"]}}});

    $slice:限制数组只包含最后加入的n个元素,其值必须是负整数

    db.user.update({"user_id":"u1"},{$push:{"xueke":{$each:["yy","gs"],$slice:-2}}}

    $sort:对数组中的元素,按照指定的字段来对数据进行排序(1为升序,-1为降序),然后再按照slice删除。

    db.user.update({"user_id":"u1"},{$push:{"xueke":{$each:["yy","yw","sx"],$slice:-4,$sort:-1}}});

     注意:不能只将$slice或者$sort与$push配合使用,且必须使用$each

    $ne:判断一个值是否在数组中,如果不在则添加进去

    db.user.update({"user_id":"u1","xueke":{$ne:"xd"}},{$push:{"xueke":"xd"}});

    $addToSet:将数组作为数据集使用,以保证数组内的元素不会重复

    db.user.update({"user_id":"u1"},{$addToSet:{"xueke":"english"}});

    $pop :从数组一端删除元素,{$pop:{key:1}},从末尾删掉一个,-1则从头部删除

     db.user.update({"user_id":"u1"},{$pop:{"xueke":1}});

    $pull:按照条件来删除所有匹配的元素

    db.user.update({"user_id":"u1"},{$pull:{"xueke":"yy"}});

    12:$:用来修改第一个匹配的元素

     db.user.update({"user_id":"u1"},{$set:{"xueke.1":"yy"}});

    save方法:如果文档存在就更新,不存在就新建,主要根据”_id”来判断

    db.user.save({"_id":"ObjectId("5b5862e4ac45f21aabc51432")","user_id":"u2","name":"n2"});
  • 相关阅读:
    路飞学城Python-Day4(practise)
    事件绑定和普通事件的区别
    数组中shift(),push(),unshift(),pop()方法
    IE6中常见BUG与相应的解决办法
    apply()与call()的区别
    CSS引入的方式有哪些? link和@import的区别是?
    substring() , slice() and substr()方法
    webpack常用命令总结
    webpack
    从输入URL 到页面加载完成的过程
  • 原文地址:https://www.cnblogs.com/xiaoliangup/p/9404274.html
Copyright © 2011-2022 走看看