zoukankan      html  css  js  c++  java
  • mongodb入门很简单(3)

     ##简单的mongodb入门命令##

    1.show dbs;      //查看当前数据库

    2.use databaseName;         //选库

    3.show tables/collections;           //查看数据库中有哪些表

    4.db.help();              //查看一些对database的操作命令

    5.mongodb的库是隐式创建的,我们可以use一个不存在的库,然后在改库下创建collection,即可创建库;

    例如:db.createCollection('user');
    db.user.insert({id:10, name:'wangwu', age:20});
    db.user.find();

    6.collection允许隐式创建:
    db.collectonName.insert(document);

    7.删除collction;
    db.collectionName.drop();

    8.删除database;
    db.dropDatabase(); 



    ##mongodb基本操作##


    1.增:insert


    db.stu.insert({stu_id:'001', name:'xiaoqiang'});
    一次性创建多篇文档:json是一个对象,js中有数组这个概念,我们只需要将多个对象,放到一个数组里就可以了;


    例如:
    db.stu.insert([{_id:3, sn:'003', name:'liuqiang'},{sn:'006', name:'zhaoming'}]);
    我们可以写的任意深;



    2.删:remove


    语法:db.collection.remove   (查询表达式,选项);
    选项是指:(just_one_line:true/false)    是否只删除一行,默认为false;

    例如:
    db.stu.remove({sn:'001'});             //删除st表中sn为001的学生
    db.stu.remove({sn:'001', true});     //只删除一行

    注意:
    1)查询表达式依然是json对象;
    2)查询表达式匹配的行将被删掉;
    3)如果不写查询表达式,collection中所有的文档将被删掉;



    3.改:update


    语法:db.collection.update(查询表达式,赋值表达式,新增选项);
    改谁--查询表达式
    改成什么样--赋值表达式
    操作选项--可选参数

    例如:
    db.stu.update({name:'dalang'}, {name:'zhagnqiang'});    //新文档直接替换了旧文档
    db.stu.update({name:'liuwei'}, {$set:{name:'yaoming'}});      //只改某一个列



    修改时的赋值表达式:
     $set 修改某列的值
     $unset  删除某个列
     $rename  重命名某个列
     $inc  增长某个列
     $setOnInsert  当upsert为true时,并且发生了insert操作时,可以补充的字段;
     
     exp:
     
     db.stu.insert({name:'zhangqiang',age16,sex:'m',weight:60});
     
     db.stu.update({$set:{name:wangli},$unset:{age:17},$rename:{sex:'gender'}, $inc:{weight:2}});


     
    可选参数:
      {upsert:false  multi:false}
      upsert:没有匹配的行则直接插入该行(如果有查询到的字段则修改,否则添加新的信息)
      muiti:修改多行(即使查询表达式命中多行,也只改一行,如果想改多行,加入这个选项)
      
    exp:

    db.stu.update({name:'zhangqiang'}, $set:{name:'lisi'},{upsert:true});

    db.stu.update({name:'zhangqiang'}, $set:{name:'lisi',$setOnInsert:{high:180}},{upsert:true});      //加上high属性

    db.stu.update({gender:'m'},$set:{genter:'men'},{multi:true});


    4.查:find,findOne

    db.stu.find();                       //查询所有的文档

    db.stu.find({age:18});          //查询所有文档中age属性的列

    db.stu.find({}, {age:20});    //查询所有文档中age=20的列,且不查询id属性

    db.stu.find({name:'zhngsan'}, {age:1,_id:0});      //查出name是zhangsan 的age都要查出来   

  • 相关阅读:
    RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World(转载)
    如何安装和配置RabbitMQ(转载)
    C++学习笔记-模板
    C++学习笔记-多态的实现原理
    C++学习笔记-多态的实现原理
    C++学习笔记-多态
    C++学习笔记-多态
    C++学习笔记-继承中的构造与析构
    C++学习笔记-继承
    C++学习笔记-封装
  • 原文地址:https://www.cnblogs.com/dormant/p/5404815.html
Copyright © 2011-2022 走看看