NoSQL数据库(五)01-mongoDB入门——介绍与应用场景、安装与可视化工具 & 使用node-mongodb-native进行增删改查
第四章 mongoDB
介绍
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
mongoD是关系型数据库的补充。
应用场景
适用场景
- 用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便。也是给应用练手,从外围系统开始使用MongoDB。
- 主要用来存储一些监控数据,No schema 对开发人员来说,真的很方便,增加字段不用改表结构,而且学习成本极低。
- 网站数据:适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
- 大尺寸、低价值的数据:使用传统的关系数据库存储一些数据时可能会比较贵,在此之前,很多程序员往往会选择传统的文件进行存储。
不适用场景
- 高度事物性的系统:例如银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。
如何选择
如果上述有1个 Yes,可以考虑 MongoDB,2个及以上的 Yes,选择MongoDB绝不会后悔。
安装
sudo brew install mongodb
- 可视化工具安装
- https://studio3t.com/download-thank-you/?OS=osx
- nodejs操作mongoDB库
- https://github.com/mongodb/node-mongodb-native
npm install mongodb --save
增删改查
三个概念
- 数据库
- 集合: 类似关系型数据库里的表
- 文档: 一条一条的数据
增
const insertDocuments = function(db, callback) {
// Get the documents collection const collection = db.collection('documents'); // Insert some documents collection.insertMany([ {
a : 1, b: 2}, {
a : 2, b: 2}, {
a : 3, b:3} ], function(err, result) {
console.log("Inserted 3 documents into the collection"); callback(result); }); }
查
const selectData = function(db, callback) {
const collection = db.collection('documents'); var whereStr = {
b: 2 }; collection.find(whereStr).toArray((err, result) => {
callback(result) }) }
改
const updateData = function(db, callback) {
const collection = db.collection('documents'); var whereStr = {
a: 1 }; var updataStr = {
$set: {
b: 1 } }; collection.update(whereStr, updataStr, function() {
callback(); }); }
删
const delData = function(db, callback) {
const collection = db.collection('documents'); var whereStr = {
a: 1 }; collection.remove(whereStr, (err, result) => {
callback(result) }); }
实例
app.js
const MongoClient = require('mongodb').MongoClient; // 引入库 // const assert = require('assert'); // Connection URL const url = 'mongodb://localhost:27017'; // mongo默认端口 27017 // Database Name const dbName = 'myproject'; // 定义数据库的名称 const client = new MongoClient(url); // 实例化一个客户端 并且连接数据库 const insertDocuments = function(db, callback) {
// Get the documents collection const collection = db.collection('documents'); //概念:集合 建了一张 documents这样的表 // Insert some documents collection.insertMany([ {
a : 1, b: 2}, {
a : 2, b: 2}, {
a : 3, b:3} // 添加3条数据, 字段有2个分别是 a,b ], function(err, result) {
console.log("Inserted 3 documents into the collection"); callback(result); }); } const selectData = function(db, callback) {
const collection = db.collection('documents'); var whereStr = {
b: 2 }; // 语法非常的简洁 collection.find(whereStr).toArray((err, result) => {
callback(result) }) } const updateData = function(db, callback) {
const collection = db.collection('documents'); var whereStr = {
a: 1 }; var updataStr = {
$set: {
b: 1 } }; collection.update(whereStr, updataStr, function() {
callback(); }); } const delData = function(db, callback) {
const collection = db.collection('documents'); var whereStr = {
a: 1 }; collection.remove(whereStr, (err, result) => {
callback(result) }); } // Use connect method to connect to the server client.connect(function(err) {
console.log("Connected successfully to server"); const db = client.db(dbName); // 创建一个数据库 叫做 myproject 或者链接 // 1. 建表 // insertDocuments(db, function() { // 插入数据 // client.close(); // }); // selectData(db, function(data) {
// console.log(data); // client.close(); // }); // updateData(db, function() {
// client.close(); // }); delData(db, function() {
client.close(); }); });
到此这篇NoSQL数据库(五)01-mongoDB入门——介绍与应用场景、安装与可视化工具 & 使用node-mongodb-native进行增删改查的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/10799.html