MongoDB

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 文章目录启动Mongoose操作字段类型CURD增加插入一条插入多条删除删除一条删除多条更新更新一条更新多条查询查询一条查询多条启动以 mongodb 中 bin 目录作为工作目录,启动命令行运行命令 mongodMongoose

文章目录


启动


mongodb 中 bin 目录作为工作目录,启动命令行

运行命令 mongod


Mongoose


操作

//1. 安装 mongoose
 //2. 导入 mongoose
 const mongoose = require('mongoose');
 //3. 连接数据库                              数据库名称
 mongoose.connect('mongodb://127.0.0.1:27017/bilibili');
 //4. 设置连接回调
 //连接成功   once 一次   事件回调函数只执行一次
mongoose.connection.on('open', () => {
  console.log('连接成功');
  //5. 创建文档结构对象
    // 设置集合中 文档的属性以及属性值得类型
  let BookSchema = new mongoose.Schema({
    title: String,
    author: String,
    price: Number
  });
  //6. 创建文档模型对象  对文档操作的封装对象  mongoose会使用集合名称的复数,创建集合
  let BookModel = mongoose.model('book', BookSchema);
     //7. 插入文档
  BookModel.create({
    title: '西游记',
    author: '吴承恩',
    price: 19.9
  }, (err, data) => {
        // 判断是否有错误
    if (err) throw err;
        //输出 data 对象  如果没有出错,则输出插入后的文档对象
    console.log(data);
    //8. 断开连接  关闭数据链接 (项目运行过程中,不会添加该代码)
    mongoose.disconnect();
  });
});
//连接出错
mongoose.connection.on('error', () => {
  console.log('连接出错~~');
})
//连接关闭
mongoose.connection.on('close', () => {
  console.log('连接关闭');
})

字段类型

CURD

增加

插入一条

SongModel.create({
  title:'给我一首歌的时间',
  author: 'Jay'
}, function(err, data){
  //错误
  console.log(err);
  //插入后的数据对象
  console.log(data);
});

插入多条

//1.引入mongoose
const mongoose = require('mongoose');
//2.链接mongodb数据库 connect 连接
mongoose.connect('mongodb://127.0.0.1:27017/project');
//3.设置连接的回调
mongoose.connection.on('open',()=>{
  //4.声明文档结构
  const PhoneSchema = new mongoose.Schema({
    brand:String,
    color:String,
    price:Number,
    tags:Array
  })
  //6.创建模型对象
  const PhoneModel = mongoose.model('phone',PhoneSchema);
  PhoneModel.insertMany([
    {
      brand:'华为',
      color:'灰色',
      price:2399,
      tags:['电量大','屏幕大','信号好']
    },
    {
      brand:'小米',
      color:'白色',
      price:2099,
      tags:['电量大','屏幕大','信号好']
         }
  ],(err,data)=>{
    if(err) throw err;
         console.log('写入成功');
         mongoose.connection.close();
  })
})


删除

删除一条

SongModel.deleteOne({_id:'5dd65f32be6401035cb5b1ed'}, function(err){
  if(err) throw err;
  console.log('删除成功');
  mongoose.connection.close();
});

删除多条

SongModel.deleteMany({author:'Jay'}, function(err){
  if(err) throw err;
  console.log('删除成功');
  mongoose.connection.close();
});


更新

更新一条

SongModel.updateOne({author: 'JJ Lin'}, {author: '林俊杰'}, function (err) {
  if(err) throw err;
  mongoose.connection.close();
});

更新多条

SongModel.updateMany({author: 'Leehom Wang'}, {author: '王力宏'}, function (err) {
  if(err) throw err;
  mongoose.connection.close();
});

查询

查询一条

SongModel.findOne({author: '王力宏'}, function(err, data){
  if(err) throw err;
  console.log(data);
  mongoose.connection.close();
});
//根据 id 查询数据
SongModel.findById('5dd662b5381fc316b44ce167',function(err, data){
  if(err) throw err;
  console.log(data);
  mongoose.connection.close();
});

查询多条

//不加条件查询
SongModel.find(function(err, data){
  if(err) throw err;
  console.log(data);
  mongoose.connection.close();
});
//加条件查询
SongModel.find({author: '王力宏'}, function(err, data){
  if(err) throw err;
  console.log(data);
  mongoose.connection.close();
});


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
7月前
|
NoSQL 关系型数据库 MongoDB
MongoDB
本小节笔者将带领大家学习非关系型数据库MongoDB,理论学习预计45min,侧重于快速上手实战。
MongoDB
|
2月前
|
存储 分布式计算 NoSQL
什么是 MongoDB ?
10月更文挑战第10天
20 0
|
3月前
|
存储 监控 NoSQL
MongoDB介绍
MongoDB介绍
53 1
|
存储 NoSQL 定位技术
MongoDB的特点
MongoDB的特点
427 1
|
存储 NoSQL MongoDB
Mongodb(一)
Mongodb(一)
|
JSON NoSQL MongoDB
初学mongoDB(一)
初学mongoDB
83 0
|
存储 缓存 NoSQL
MongoDB 使用介绍
MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的非关系型开源数据库系统。其优势在于可以存放海量数据,具备强大的查询功能,是一个独立的面向集合文档形式的。
365 0
MongoDB 使用介绍
|
存储 NoSQL 索引
什么场景应该用 MongoDB ?
月初在云栖社区上发起了一个 MongoDB 使用场景及运维管理问题交流探讨 的技术话题,有近5000人关注了该话题讨论,这里就 MongoDB 的使用场景做个简单的总结,谈谈什么场景该用 MongoDB? 很多人比较关心 MongoDB 的适用场景,也有用户在话题里分享了自己的业务场景,比如 案
|
NoSQL JavaScript Java
MongoDB资料大全
为了帮助大家进一步了解MongoDB,云栖社区组织翻译了GitHub Awesome MongoDB 资源,涵盖MongoDB中常见的库与工具、应用列表、以及相关的文档、教程等资源。
43483 0
|
NoSQL MongoDB 索引
mongodb的限制
知道一个产品的限制所在,就可以更好的使用它。目前已知的mongodb限制如下: BSON Document Size:最大为16M 数据库:大小写敏感、数据库名称必须少于64个字符 集合名称不能包含如下信息:contain the $.
2304 0