• MongoDB 的创建、查询、更新、删除


        MongoDB数据库中,创建、查询、更新、删除操作的对象是集合。

    1.查看某个数据库中有哪些集合,在此之前需要使用数据库

    C:Windowssystem32>mongo
    MongoDB shell version: 3.2.10
    connecting to: test
    > db
    test
    > show dbs;
    chengdu  0.004GB
    first    0.000GB
    local    0.000GB
    > use first;
    switched to db first
    > show collections;
    blog
    col
    runoob
    >

    命令解释:    

     mongo ---> 连接数据库, 在执行之前确保MongoDB数据库服务开启了

     db  ---> 查看当前正在使用的数据库

     show dbs   --> 查看本地磁盘上那些数据库

     use  [DatabaseName]  --> 使用某个(DatebaseName)数据库,若该数据库不存在,则首先创建数据库再使用

     show  collections  -->查看当前数据库中的集合

    2. 向集合中插入一条数据

    > show collections;
    blog
    col
    runoob
    > db
    first
    > user = { 'name':'chengdu',
    ...        'sex' : 'M',
    ...        'age' :  22 }
    { "name" : "chengdu", "sex" : "M", "age" : 22 }
    > db.users.insert(user);
    WriteResult({ "nInserted" : 1 })
    > show collections;
    blog
    col
    runoob
    users
    >

      首先创建了一个文档对象user,然后再将文档user插入集合users

    命令解释:   

    > user = { 'name':'chengdu',
    ... 'sex' : 'M',
    ... 'age' : 22 }
    { "name" : "chengdu", "sex" : "M", "age" : 22 }   --> 创建一个文档对象 user

     db.users.insert(user)  -->向集合users中插入文档user,  如果集合users不存在,则先创建集合, 然后再插入文档对象

    3.查询当当前集合中的文档对象,有两个方法  find() 和 findOne()。find()查看所有的文档对象,但在shell中最多显示20个。 findOne()查看第一个文档对象,只返回一个文档对象。

      

    > db.users.find();
    { "_id" : ObjectId("584eafa97629396db95535da"), "name" : "chengdu", "sex" : "M", "age" : 22 }
    > db.users.findOne();
    {
            "_id" : ObjectId("584eafa97629396db95535da"),
            "name" : "chengdu",
            "sex" : "M",
            "age" : 22
    }
    >

       具体查询某个文档对象,带参数的查询

    > db.users.find({'name':'chengdu'});
    { "_id" : ObjectId("584eafa97629396db95535da"), "name" : "chengdu", "sex" : "M", "age" : 22 }
    > db.users.findOne({'name':'chengdu'});
    {
            "_id" : ObjectId("584eafa97629396db95535da"),
            "name" : "chengdu",
            "sex" : "M",
            "age" : 22
    }
    >

    4.更新集合中的某个文档对象

    > user = { 'name' : 'cd',
    ...        'sex' : 'M',
    ...        'age' : 22 }
    { "name" : "cd", "sex" : "M", "age" : 22 }
    > db.users.update({'name' : 'chengdu'}, user);
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.users.find();
    { "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22 }
    >

      使用update语句更新原来集合中name为chengdu的文档对象,更新之后 name变为cd

      在文档对象上增加一个键

    > user
    { "name" : "cd", "sex" : "M", "age" : 22 }
    > user.address = 'Shanghai';
    Shanghai
    > user
    { "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
    > db.users.update({'name':'cd'}, user);
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.users.find();
    { "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
    >

    5.删除某个文档对象,使用remove()方法

    > user1 = { 'name' : 'xiaohong',
    ...         'sex' : 'F',
    ...         'age' : 22,
    ...         'address' : 'Beijing',
    ...         'qq' : '12345678'}
    {
            "name" : "xiaohong",
            "sex" : "F",
            "age" : 22,
            "address" : "Beijing",
            "qq" : "12345678"
    }
    > db.users.insert(user1);
    WriteResult({ "nInserted" : 1 })
    > db.users.find();
    { "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
    { "_id" : ObjectId("584eb4bd7629396db95535db"), "name" : "xiaohong", "sex" : "F", "age" : 22, "address" : "Beijing", "qq" : "12345678" }
    > db.users.remove({'name' : 'xiaohong'});
    WriteResult({ "nRemoved" : 1 })
    > db.users.find();
    { "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
    >

       首先创建了一个文档对象,该文档对象的键和之前文档对象的键的数目不同,然后再将文档对象插入到集合中,MongoDB的一个集合中可以存储键数目不同的文档对象,即可以插入成功,然后使用remove方法将插入的文档删除。

  • 相关阅读:
    Hadoop的运行痕迹
    生活常识
    hadoop集群崩溃恢复记录
    Hadoop_NameNode_代码分析_目录树(2)
    .NET Is 和 As 的区别
    hadoop集群管理之 SecondaryNameNode和NameNode
    sql2005分页存储过程原创
    c#生成json数据 JavaScript对json数据处理
    LVS改变ConnectionHashtable值
    MySQL Cluster集群配置
  • 原文地址:https://www.cnblogs.com/shootercheng/p/6166273.html
Copyright © 2020-2023  润新知