威海网站建设地址,淘客网站做百度推广,北京注册公司网上申请入口,徐州建站服务文章目录 Windows下载MongoDB Compass使用NoSQL的基本概念MongoDB常用术语MongoDB与RDBMS区别MongoDB的CRUD 更多相关内容可查看 Docker安装MongoDB可查看#xff1a;Docker-安装MongoDB
Windows下载
官网下载地址#xff1a;https://www.mongodb.com/try/download/communi… 文章目录 Windows下载MongoDB Compass使用NoSQL的基本概念MongoDB常用术语MongoDB与RDBMS区别MongoDB的CRUD 更多相关内容可查看 Docker安装MongoDB可查看Docker-安装MongoDB
Windows下载
官网下载地址https://www.mongodb.com/try/download/community
按需选择下载,我这里下载的是Windows x64 解压完双击安装进入以下页面 接受协议下一步 选择custom可以自定义安装路径 点击Browse可以选择安装路径 选择完后直接next 这里默认会帮助我们创建data及log路径next 这里可以按需选择安装MongoDB Compass,选择会稍微慢一些但为了方便还是建议直接顺手安装 MongoDB Compass使用
安装完会自动打开如下界面开启你的MongoDB操作 点击Connection 旁的号 进行链接 可填写相关链接的信息
链接成功如图 断开链接 创建数据库 给创建的数据库添加数据 添加数据示例 查询数据示例 修改删除数据 导入导出 导出json示例 这里可以理解为写sql的界面 例如linux的命令行了在文章底部有代码可以copy使用 NoSQL的基本概念
什么是NoSQL
NoSQL是“Not Only SQL”的缩写代表了一类非关系型数据库主要用于处理大规模数据存储和高并发访问。与传统的关系型数据库如MySQL、PostgreSQL不同NoSQL数据库没有固定的表结构能够灵活存储多种数据类型包括结构化、半结构化和非结构化数据。
NoSQL数据库代表“不仅仅是SQL”或“不是SQL” NoSQL的分类
文档数据库以文档形式存储数据适合存储JSON格式数据如MongoDB和CouchDB。键值存储通过键值对存储数据适合高速读取如Redis和DynamoDB。列族存储将数据存储在列中适合分析场景如Cassandra和HBase。图数据库以图结构存储数据适合处理复杂关系如Neo4j和ArangoDB。 MongoDB常用术语
生态图示例
术语说明_id每个 MongoDB 文档中必填的字段表示文档的唯一值类似于主键。如果新文档中没有 _id 字段MongoDB 会自动创建。集合MongoDB 文档的分组相当于关系数据库中的表集合存在于单个数据库中不强制执行任何结构。游标指向查询结果集的指针客户可以遍历游标以检索结果。数据库类似于 RDMS 中的集合容器存储表的容器每个数据库在文件系统上都有自己的文件集MongoDB 服务器可存储多个数据库。文档MongoDB 集合中的记录包含字段名称和值。字段文档中的名称/值对一个文档具有零个或多个字段类似于关系数据库中的列。
MongoDB与RDBMS区别
SQL 术语/概念MongoDB 术语/概念解释/说明database数据库tablecollection数据表/集合rowdocument数据记录行/文档columnfield数据字段/域indexindex索引table joins表连接MongoDB 不支持primary keyprimary key主键MongoDB 自动将 _id 字段设置为主键
MongoDB的CRUD
Insert db.inventory.insertOne({ item: canvas, qty: 100, tags: [cotton], size: { h: 28, w: 35.5, uom: cm } })
{acknowledged : true,insertedId : ObjectId(5f1f8a9a099483199e74737c)
}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(5f1f8aa8099483199e74737d),ObjectId(5f1f8aa8099483199e74737e),ObjectId(5f1f8aa8099483199e74737f)]
}db.inventory.find( {} )
{ _id : ObjectId(5f1f8a9a099483199e74737c), item : canvas, qty : 100, tags : [ cotton ], size : { h : 28, w : 35.5, uom : cm } }
{ _id : ObjectId(5f1f8aa8099483199e74737d), item : journal, qty : 25, tags : [ blank, red ], size : { h : 14, w : 21, uom : cm } }
{ _id : ObjectId(5f1f8aa8099483199e74737e), item : mat, qty : 85, tags : [ gray ], size : { h : 27.9, w : 35.5, uom : cm } }
{ _id : ObjectId(5f1f8aa8099483199e74737f), item : mousepad, qty : 25, tags : [ gel, blue ], size : { h : 19, w : 22.85, uom : cm } }Query db.inventory.find( {} )
{ _id : ObjectId(5f1f8a9a099483199e74737c), item : canvas, qty : 100, tags : [ cotton ], size : { h : 28, w : 35.5, uom : cm } }
{ _id : ObjectId(5f1f8aa8099483199e74737d), item : journal, qty : 25, tags : [ blank, red ], size : { h : 14, w : 21, uom : cm } }
{ _id : ObjectId(5f1f8aa8099483199e74737e), item : mat, qty : 85, tags : [ gray ], size : { h : 27.9, w : 35.5, uom : cm } }
{ _id : ObjectId(5f1f8aa8099483199e74737f), item : mousepad, qty : 25, tags : [ gel, blue ], size : { h : 19, w : 22.85, uom : cm } }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a78), item : journal, qty : 25, size : { h : 14, w : 21, uom : cm }, status : A }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a79), item : notebook, qty : 50, size : { h : 8.5, w : 11, uom : in }, status : A }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a7a), item : paper, qty : 100, size : { h : 8.5, w : 11, uom : in }, status : D }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a7b), item : planner, qty : 75, size : { h : 22.85, w : 30, uom : cm }, status : D }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a7c), item : postcard, qty : 45, size : { h : 10, w : 15.25, uom : cm }, status : A }db.inventory.find( { status: D } )
{ _id : ObjectId(5f1f94de4326f1d6a51d3a7a), item : paper, qty : 100, size : { h : 8.5, w : 11, uom : in }, status : D }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a7b), item : planner, qty : 75, size : { h : 22.85, w : 30, uom : cm }, status : D }db.inventory.find( { status: { $in: [ A, D ] } } )
{ _id : ObjectId(5f1f94de4326f1d6a51d3a78), item : journal, qty : 25, size : { h : 14, w : 21, uom : cm }, status : A }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a79), item : notebook, qty : 50, size : { h : 8.5, w : 11, uom : in }, status : A }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a7a), item : paper, qty : 100, size : { h : 8.5, w : 11, uom : in }, status : D }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a7b), item : planner, qty : 75, size : { h : 22.85, w : 30, uom : cm }, status : D }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a7c), item : postcard, qty : 45, size : { h : 10, w : 15.25, uom : cm }, status : A }db.inventory.find( { status: A, qty: { $lt: 30 } } )
{ _id : ObjectId(5f1f94de4326f1d6a51d3a78), item : journal, qty : 25, size : { h : 14, w : 21, uom : cm }, status : A }db.inventory.find( { $or: [ { status: A }, { qty: { $lt: 30 } } ] } )
{ _id : ObjectId(5f1f8aa8099483199e74737d), item : journal, qty : 25, tags : [ blank, red ], size : { h : 14, w : 21, uom : cm } }
{ _id : ObjectId(5f1f8aa8099483199e74737f), item : mousepad, qty : 25, tags : [ gel, blue ], size : { h : 19, w : 22.85, uom : cm } }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a78), item : journal, qty : 25, size : { h : 14, w : 21, uom : cm }, status : A }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a79), item : notebook, qty : 50, size : { h : 8.5, w : 11, uom : in }, status : A }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a7c), item : postcard, qty : 45, size : { h : 10, w : 15.25, uom : cm }, status : A }db.inventory.find( {status: A,$or: [ { qty: { $lt: 30 } }, { item: /^p/ } ]} )
{ _id : ObjectId(5f1f94de4326f1d6a51d3a78), item : journal, qty : 25, size : { h : 14, w : 21, uom : cm }, status : A }
{ _id : ObjectId(5f1f94de4326f1d6a51d3a7c), item : postcard, qty : 45, size : { h : 10, w : 15.25, uom : cm }, status : A }Update db.inventory.insertMany( [{ item: canvas, qty: 100, size: { h: 28, w: 35.5, uom: cm }, status: A },{ item: journal, qty: 25, size: { h: 14, w: 21, uom: cm }, status: A },{ item: mat, qty: 85, size: { h: 27.9, w: 35.5, uom: cm }, status: A },{ item: mousepad, qty: 25, size: { h: 19, w: 22.85, uom: cm }, status: P },{ item: notebook, qty: 50, size: { h: 8.5, w: 11, uom: in }, status: P },{ item: paper, qty: 100, size: { h: 8.5, w: 11, uom: in }, status: D },{ item: planner, qty: 75, size: { h: 22.85, w: 30, uom: cm }, status: D },{ item: postcard, qty: 45, size: { h: 10, w: 15.25, uom: cm }, status: A },{ item: sketchbook, qty: 80, size: { h: 14, w: 21, uom: cm }, status: A },{ item: sketch pad, qty: 95, size: { h: 22.85, w: 30.5, uom: cm }, status: A }] );
{acknowledged : true,insertedIds : [ObjectId(5f1f96cf4326f1d6a51d3a7d),ObjectId(5f1f96cf4326f1d6a51d3a7e),ObjectId(5f1f96cf4326f1d6a51d3a7f),ObjectId(5f1f96cf4326f1d6a51d3a80),ObjectId(5f1f96cf4326f1d6a51d3a81),ObjectId(5f1f96cf4326f1d6a51d3a82),ObjectId(5f1f96cf4326f1d6a51d3a83),ObjectId(5f1f96cf4326f1d6a51d3a84),ObjectId(5f1f96cf4326f1d6a51d3a85),ObjectId(5f1f96cf4326f1d6a51d3a86)]
}db.inventory.updateOne({ item: paper },{$set: { size.uom: cm, status: P },$currentDate: { lastModified: true }})
{ acknowledged : true, matchedCount : 1, modifiedCount : 1 }db.inventory.find( {} )
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a7d), item : canvas, qty : 100, size : { h : 28, w : 35.5, uom : cm }, status : A }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a7e), item : journal, qty : 25, size : { h : 14, w : 21, uom : cm }, status : A }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a7f), item : mat, qty : 85, size : { h : 27.9, w : 35.5, uom : cm }, status : A }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a80), item : mousepad, qty : 25, size : { h : 19, w : 22.85, uom : cm }, status : P }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a81), item : notebook, qty : 50, size : { h : 8.5, w : 11, uom : in }, status : P }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a82), item : paper, qty : 100, size : { h : 8.5, w : 11, uom : cm }, status : P, lastModified : ISODate(2020-07-28T03:09:17.014Z) }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a83), item : planner, qty : 75, size : { h : 22.85, w : 30, uom : cm }, status : D }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a84), item : postcard, qty : 45, size : { h : 10, w : 15.25, uom : cm }, status : A }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a85), item : sketchbook, qty : 80, size : { h : 14, w : 21, uom : cm }, status : A }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a86), item : sketch pad, qty : 95, size : { h : 22.85, w : 30.5, uom : cm }, status : A }db.inventory.updateMany({ qty: { $lt: 50 } },{$set: { size.uom: in, status: P },$currentDate: { lastModified: true }})
{ acknowledged : true, matchedCount : 3, modifiedCount : 3 }db.inventory.find( {} )
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a7d), item : canvas, qty : 100, size : { h : 28, w : 35.5, uom : cm }, status : A }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a7e), item : journal, qty : 25, size : { h : 14, w : 21, uom : in }, status : P, lastModified : ISODate(2020-07-28T04:33:50.391Z) }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a7f), item : mat, qty : 85, size : { h : 27.9, w : 35.5, uom : cm }, status : A }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a80), item : mousepad, qty : 25, size : { h : 19, w : 22.85, uom : in }, status : P, lastModified : ISODate(2020-07-28T04:33:50.391Z) }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a81), item : notebook, qty : 50, size : { h : 8.5, w : 11, uom : in }, status : P }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a82), item : paper, qty : 100, size : { h : 8.5, w : 11, uom : cm }, status : P, lastModified : ISODate(2020-07-28T03:09:17.014Z) }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a83), item : planner, qty : 75, size : { h : 22.85, w : 30, uom : cm }, status : D }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a84), item : postcard, qty : 45, size : { h : 10, w : 15.25, uom : in }, status : P, lastModified : ISODate(2020-07-28T04:33:50.392Z) }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a85), item : sketchbook, qty : 80, size : { h : 14, w : 21, uom : cm }, status : A }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a86), item : sketch pad, qty : 95, size : { h : 22.85, w : 30.5, uom : cm }, status : A }db.inventory.replaceOne({ item: paper },{ item: paper, instock: [ { warehouse: A, qty: 60 }, { warehouse: B, qty: 40 } ] }
)
{ acknowledged : true, matchedCount : 1, modifiedCount : 1 }db.inventory.find( {} )
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a7d), item : canvas, qty : 100, size : { h : 28, w : 35.5, uom : cm }, status : A }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a7e), item : journal, qty : 25, size : { h : 14, w : 21, uom : in }, status : P, lastModified : ISODate(2020-07-28T04:33:50.391Z) }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a7f), item : mat, qty : 85, size : { h : 27.9, w : 35.5, uom : cm }, status : A }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a80), item : mousepad, qty : 25, size : { h : 19, w : 22.85, uom : in }, status : P, lastModified : ISODate(2020-07-28T04:33:50.391Z) }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a81), item : notebook, qty : 50, size : { h : 8.5, w : 11, uom : in }, status : P }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a82), item : paper, instock : [ { warehouse : A, qty : 60 }, { warehouse : B, qty : 40 } ] }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a83), item : planner, qty : 75, size : { h : 22.85, w : 30, uom : cm }, status : D }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a84), item : postcard, qty : 45, size : { h : 10, w : 15.25, uom : in }, status : P, lastModified : ISODate(2020-07-28T04:33:50.392Z) }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a85), item : sketchbook, qty : 80, size : { h : 14, w : 21, uom : cm }, status : A }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a86), item : sketch pad, qty : 95, size : { h : 22.85, w : 30.5, uom : cm }, status : A }Delete db.inventory.deleteMany({ status : A })
{ acknowledged : true, deletedCount : 4 }db.inventory.find( {} )
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a7e), item : journal, qty : 25, size : { h : 14, w : 21, uom : in }, status : P, lastModified : ISODate(2020-07-28T04:33:50.391Z) }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a80), item : mousepad, qty : 25, size : { h : 19, w : 22.85, uom : in }, status : P, lastModified : ISODate(2020-07-28T04:33:50.391Z) }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a81), item : notebook, qty : 50, size : { h : 8.5, w : 11, uom : in }, status : P }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a82), item : paper, instock : [ { warehouse : A, qty : 60 }, { warehouse : B, qty : 40 } ] }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a83), item : planner, qty : 75, size : { h : 22.85, w : 30, uom : cm }, status : D }
{ _id : ObjectId(5f1f96cf4326f1d6a51d3a84), item : postcard, qty : 45, size : { h : 10, w : 15.25, uom : in }, status : P, lastModified : ISODate(2020-07-28T04:33:50.392Z) }BulkWrite(批量操作)
try {db.characters.bulkWrite([{ insertOne :{document :{_id : 4, char : Dithras, class : barbarian, lvl : 4}}},{ insertOne :{document :{_id : 5, char : Taeln, class : fighter, lvl : 3}}},{ updateOne :{filter : { char : Eldon },update : { $set : { status : Critical Injury } }}},{ deleteOne :{ filter : { char : Brisbane} }},{ replaceOne :{filter : { char : Meldane },replacement : { char : Tanys, class : oracle, lvl : 4 }}}]);
}
catch (e) {print(e);
}