• MongoDB


    >>文档:

    MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型

    文档中的键/值对是有序的。
    文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
    MongoDB区分类型和大小写。
    MongoDB的文档不能有重复的键。
    文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。

    >>集合:

    集合就是 MongoDB 文档组,类似于 RDBMS (关系数据库管理系统:Relational Database Management System)中的表格。
    集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。

    比如将不同数据结构的文档插入到集合中:

    {"site":"www.baidu.com"}
    {"site":"www.google.com","name":"Google"}
    {"site":"www.runoob.com","name":"菜鸟教程","num":5}

    >>启动mongodb :

    sudo   service   mongod   start

    >>验证mongodb是否已经成功启动:

    cat   /var/log/mongodb/mongod.log

    或者

    ps   -aux|grep   mongod

    >>停止mongodb:

    sudo  service mongod stop

    >>重启mongodb:

    sudo  service mongod restart

    >>开始使用mongodb:

    [root@localhost ~]# mongo

    > show dbs; ## 查看数据库

    > db.version(); ## 查看数据库版本

    > db.help();## 常用命令帮助

    >>创建数据库

    use database_name   如果数据库名不存在,则创建一个数据库,否则返回已经创建好的数据库。数据库创建好后直接转向创建好的数据库。但必须插入文档,数据库才显示出来,空的数据库是不显示出来的。

    >>查看当前数据库

    db

    >>显示数据库列表

    show  dbs

    >>向数据库插入数据

    db.items.insert({"name":"helloworld!"})

    >>mongodb中默认数据库是test,如果您还没有创建过任何数据库,则集合/文档将存储在test数据库中。

    >>删除数据库

    db.dropDatabase()  删除当前所选数据库,如果没有选择,则默认删除test数据库

    所以删除数据库:先选择数据库,后删除

    >use newdb     

    switched to db newdb

    >db.dropDatabase()

    >{ "dropped" : "newdb", "ok" : 1 }

    >

    >>检查创建的集合

    show   collections

    在 MongoDB 中,不需要创建集合。当插入一些文档时,MongoDB 会自动创建集合。

    >>db.newcollection.insert({"name" : "yiibaitutorials"})

    >>创建集合

    db.createCollection(name,options)      name:集合名,必须有。 options:可选参数

    >>删除集合

    db.collection.drop() 

    删除名称为 mycollection 的集合。

    >db.mycollection.drop()

    true   删除成功,返回true.删除失败,返回false

    ==========================================================================

    在集合中插入文档

    insert()

    第一种方式:

    db.COLLECTION_NAME.insert(document)      如果集合名没有创建,数据库会自动创建,然后将文档加入集合。

    在插入文档时,如果没有指定id参数,mongodb会为此文档分配一个唯一的ObjectId

    在单个查询中插入多个文档,可以在insert()命令中传递文档数组。如下所示

    > db.mycollection.insert([ {

    _id: 101,

    title: 'MongoDB Guide',

    description: 'MongoDB is no sql database',

    by: 'yiibai tutorials',

    url: 'http://www.yiibai.com',

    tags: ['mongodb', 'database', 'NoSQL'],

    likes: 100 },

    { _id: 102,

    title: 'NoSQL Database',

    description: "NoSQL database doesn't have tables",

    by: 'yiibai tutorials',

    url: 'http://www.yiibai.com',

    tags: ['mongodb', 'database', 'NoSQL'],

    likes: 210,

    comments: [ { user:'user1', message: 'My first comment', dateCreated: new Date(2017,11,10,2,35), like: 0 } ] },

    { _id: 104,

    title: 'Python Quick Guide',

    description: "Python Quick start ",

    by: 'yiibai tutorials', url: 'http://www.yiibai.com',

    tags: ['Python', 'database', 'NoSQL'],

    likes: 30,

    comments: [ { user:'user1', message: 'My first comment', dateCreated: new Date(2018,11,10,2,35), like: 590 } ]

    }])

    批量插入将返回一个 带有操作状态的BulkWriteResult 对象

    文档:文档时一组键值对,MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型。

    第二种方式:

    save()

    db.post.save(document)    如果不在文档中指定_id,那么save()方法将与insert()方法一样自动分配ID的值。如果指定_id,则将以save()方法的形式替换包含_id的文档的全部数据。

    第三种方式:

    db.collection.insertOne()    将单个文档插入到集合中,如果文档没有指定_id字段,MongoDB会自动将_id字段与ObjectId值添加到新文档。

    比如:

    db.inventory.insertOne( { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } } )

    第四种方式:

    db.collection.insertMany()   将多个文档插入到集合中 ,如果文档没有指定_id字段,MongoDB会向每个文档添加一个ObjectId值的_id字段。

    比如:

    db.inventory.insertMany([

    { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },

    { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },

    { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }

    ])

    执行结果:

    {
            "acknowledged" : true,
            "insertedIds" : [
                    ObjectId("59f96cd9c5a5e6d28faf5730"),
                    ObjectId("59f96cd9c5a5e6d28faf5731"),
                    ObjectId("59f96cd9c5a5e6d28faf5732")
            ]
    }

  • 相关阅读:
    Git小结---So far.......
    Git命令之:git push
    Git详解之:Git分支
    使用Dom4j解析XML
    crm客户资源显示控制
    crm---本项目的权限控制模式
    在mybatis中,在列表分页查询过程中造成集合属性数据丢失的问题
    在easyui中解决使west和center为1:1,并且拖动窗口时能够自适应变化
    在springmvc中使用requestContextListener获取全部的request对象
    HTML 元素标签语义化及使用场景
  • 原文地址:https://www.cnblogs.com/linqiuhua/p/7766426.html
Copyright © 2020-2023  润新知