博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mongodb
阅读量:4587 次
发布时间:2019-06-09

本文共 3129 字,大约阅读时间需要 10 分钟。

关于mongodb:是一种非关系系列数据库

1201653-20171027151656867-1359151029.png

mysql:是关系型数据库

1201653-20171027151704242-458798402.png

第一部分:安装mongodb

1、下载安装mongodb

  • mongodb

    2、配置数据目录

  • 创建数据目录:mkdir c:\data
  • 自定义数据目录:mongod --dbpath "c:\data"

    3.添加/删除Windows服务里面

    添加服务

    1201653-20171027151048351-2033222481.png

    1201653-20171027151107164-2087252694.png
    1201653-20171027151117101-1633040485.png
    1201653-20171027151126258-724444168.png

  • mongod.exe
  • 设置数据存放路径: --dbpath "C:\mongodb\data\db"
  • 设置日志存放路径: --logpath "C:\mongodb\data\log\log.txt"
  • 设置日志的记录方式:--logappend
  • 设置数据库的端口号:--port 27000
  • 设置服务的名称:--serviceName "Name"
  • 设置服务的显示名称:--serviceDisplayName "DisplayName"
  • 添加到windows服务里:--install
  • 安装mongodb服务(使用管理员权限打开命令)
  • 32位系统:mongod --dbpath="C:\data\db" --logpath="C:\data\log\log.txt" --serviceName MongoDB --journal --storageEngine=mmapv1 --install
  • 64位系统:mongod --dbpath="C:\data\db" --logpath="C:\data\log\log.txt" --serviceName MongoDB --install

    移除服务

  • mongod.exe --remove --serviceName "Name"

启动/停止服务

  • net start ServiceName
  • net stop ServicceName

    4、MongoDB基本命令

    mongo --port 27017 连接数据库

    显示全部的数据库:show dbs

    进入数据库(创建数据库) use dbname

  • use 数据库名 如果数据库存在则是进入到该数据库
  • use 数据库名 如果数据库不存在则是创建该数据库
  • 如果创建出来的数据库是一个空的数据库,则本质上是和没有创建一样的

    查看表 show tables

    创建数据库 use newdb

  • use 数据库名 (1)、若存在,则进入数据库
  • (2)、若不存在,则创建该数据库
  • 如果创建出来的数据库是一个空的,则本质上和没有创建是一样的

    5、增删改查

    tableName表名

    (1)、db.tableName.insert(obj) 添加数据

    (2)、db.tableName.find(obj) 找到所有

    db.tableName.find().pretty()

    (3)、db.tableName.findOne(obj) 找到所有只改变第一个

    (4)、db.tableName.remove(obj,isFirst)

  • 参数1:删除条件
  • 参数2:是否只删除匹配到的第一条数据

    db.createCollection("表名")创建表

    (5)、db.tableName.drop() 删除表

    (6)、db.dropDatabase() 删除库

    (7)、db.tableName.update({},{},false,true)

  • 参数1:条件,
  • 参数2:替换,如果{$set:{y:100,x:10}}
  • 参数3:不存在是否创建:true:是,false,不创建
  • 参数4:是否更新全部符合条件数据:true:是,false:只更新第一条
  • 更新单条记录: db.tableName.update(condition, newObj, false, false)
  • 更新多条记录: db.tableName.update(condition, {$set:newObj}, false, true)

    6、mongodb中间件

    (1)、引入:mongoose

    (2)、连接数据库:mongoose.connect('',function(err){})

    (3)、Schema = mongoose.Schema; //一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力

    (4)、User = new Schema(obj)

    (5)、方法:

  • create(model,function(err){}) //由Schema发布生成的模型,具有抽象属性和行为的数据库操作对
  • find(model,fields,sort,function(err,docs){})
  • findOne(model,fields,function(err,docs){})
  • findById(model,fields,function(err,docs){})
  • update(model,newfields,options,function(err){})
  • options:{multi: true,overwrite:true}
  • multi:多条记录更改
  • remove(model,function(err){})

    练习  1.连接数据库 mongo  2.查看所有数据库  3.创建一个名为blog的库  4.在blog库下创建一张名为article的表(集合)  5.删除blog下的article表  6.删除blog数据库  7.再一次查看数据库,确定blog库是否还存在

    1201653-20171027151012351-421873462.png

mongoose 操作mongodb的步骤(重点)

1.引入模块

var mongoose=require("mongoose");

2.连接数据库

mongoose.connect("mongodb://localhost:27017/shop") //shop数据库名

2.得到的数据库连接句柄

var db=mongoose.connwction

3.利用句柄连接数据库成功的事件

db.on('open', function(err){    if(err){        console.log("连接数据库失败")        throw err;    }    console.log("连接成功")});

4.定义表数据结构

let production= new mongoose.Schema({    id: String,    price:Number,    shopCart: Array},(versionKey:false));

5.将表的数据结构和表关联起来

var productModel=mongoose.model("any","production","prodcuts")//any随便起的,production之前定义的数据结构products表名后两个关联

5.导出

module.exports={    随便起:prodcutModel}

express-generator

1、用于快速生成一个基于express服务器的项目

2、使用方法

(1)、第一步:全局安装

  • cnpm install express-generator -g

    (2)、第二步:使用

  • express -e projectName
  • 输入参数说明 -e 使用的模板类型 (-e 代表ejs模板 -pug 代表pug模板)
  • projectName 是项目名称

    (3)、进入该项目

  • cd projectName

    (4)、安装项目依赖包

  • cnpm install

转载于:https://www.cnblogs.com/DCL1314/p/7743434.html

你可能感兴趣的文章
while循环和递归
查看>>
Linux下yum安装Redis
查看>>
.Net 下未捕获异常的处理
查看>>
[机器学习]-Adaboost提升算法从原理到实践
查看>>
AOP概念
查看>>
memset函数详细用法说明【转】
查看>>
php解析xml字符串
查看>>
SFTP客户端与服务端
查看>>
Modbus协议
查看>>
复位自动ID的问题有兩種方法
查看>>
CentOS 5.5 Samba服务器安装总结
查看>>
博客园评价
查看>>
Apache commons-io实现多文件读取和写入
查看>>
Bash快捷键整理
查看>>
不写代码也能爬虫Web Scraper
查看>>
转: C#+MAPX 添加线、文本、符号等图元
查看>>
管理机--Jumpserver由docker搭建
查看>>
bzoj2212 Tree Rotations 线段树合并+动态开点
查看>>
SAP CRM 通过调试观察CL_CRM_BOL_ENTITY中的数据
查看>>
2016NOI冬令营day5
查看>>