数据库相关操作

具体步骤:

1、mongo打开。

2、show dbs 查看所有的数据库。

3、use stus使用或者新建数据库。

4、db.stus.insertOne({name:"l4",age:20})新增一个。

5、 db.stus.insertMany([{name:"张三",age:22},{name:"张三",age:25}])新增多个。

6、 db.stus.find({name:"张三"})查找。

7、> db.stus.find({name:"张三",age:22})多个查找。

8、db.stus.updateOne({name:"张三"},{$set:{name:"zhangsan1"}})修改。

9、 db.stus.drop()删除集合。

nodejs读取mongo数据库并使用数据

npm i mongoose 下载

nodejs向mongodb写入数据

//引入mongoose
let mongoose =  require("mongoose");
​
//mongoose连接数据库
mongoose.connect("mongodb://127.0.0.1/stus",{  //mongodb://127.0.0.1/stus进入mongodb的地址找一个stus的数据库useNewUrlParser: true,//为可选参数,也是之前老版本去除警告需要的参数useUnifiedTopology: true,
});
//连接成功之后执行事件
mongoose.connection.on("connected",function(){console.log("连接成功!!");
})
​
/* 设置数据库数据的格式 */
const users = new mongoose.Schema({username:{type:String,//数据类型required:true,//是否必填unique:true,//唯一性minlength:3,//最小长度maxlength:10,//最大长度trim:true,//去掉左右空字符串},password:{type:String,required:true,select:false,//查找是不显示此项},sex:{type:String,default:"男"//可以不用填写,默认值},age:{type:Number,default:18}
});
/* 创建数据模型
1:数据模型名称
2:数据结构
3:数据模型对应的数据库中的数据集合名称*/
let adminModel = mongoose.model("adminModel",users,"practice");//practice集合
​
let arr=[{username:"吴磊",
password:"123456",
},{username:"勇",
password:"123456",
},{username:"林少",
password:"123456",
}];
​
​
​
/* 插入数据第一种方法 */
// adminModel.create(arr,function(err){
//     if(err) {
//         console.log("失败");
//     }
//     else{
//         console.log("新建数据成功");
//     }
// })
​
​
/* 插入数据第二种方法 */
adminModel.insertMany(arr,(err)=>{if(err) {console.log(err);}else{console.log("新建数据成功");}
});

SchemaType 选项

Mongoose 5.0 中文文档

  • type:String 类型

  • required:布尔值 是否必填 默认为false

  • unique:布尔值 是否唯一 默认为fasle

  • select:布尔值 是否为读取可见 默认为fasle

  • default:任意值 设置默认值

简单值全部代码:

/* 引入文件使用 */
let mongo=require('mongoose');
​
/* 连接数据库 */
mongo.connect('mongodb://127.0.0.1/stus',{useNewUrlParser: true,//为可选参数,也是之前老版本去除警告需要的参数useUnifiedTopology: true,
});
​
/* 连接成功后执行打印 */
mongo.connection.on('connected',()=>{console.log('已和数据库连接!');
});
​
​
​
/* 数据格式 */
const books=new mongo.Schema({bookname:{type:String,required:true,//是否必填unique:true,//唯一性minlength:3,//最小长度maxlength:10,//最大长度trim:true,//去掉左右空字符串},author:{type:String, required:true,},//字符串,必填count:{type:Number,},//数字hot: {type:Number, default:10,},//数字,热度,默认值10type:{type:String,required:true,},//字符串,类型date:{
type:Date,
default:Date.now,//现在的日期}
});
​
/* 创建数据模型
1:数据模型名称
2:数据结构
3:数据模型对应的数据库中的数据集合名称*/
let booksModel=mongo.model('booksModel',books,'books');//第三个参数是一个数据库里面的集合
/* 生成数据 */
let arr=[{bookname:"碎脸",author:"鬼古女",count:20000,hot:20,type:"恐怖",
},{bookname:"极具恐怖",author:"弹指一笑间0",count:30000,hot:17,type:"悬疑",
},{bookname:"烧纸人",author:"于雷",count:15000,hot:18,type:"冒险",
},{bookname:"记忆迷踪",author:"启山",count:12000,hot:14,type:"探险",
},{bookname:"蝴蝶公墓",author:"蔡骏",count:8000,type:"爱情",
}];
​
/* 插入数据 */
booksModel.create(arr,(err)=>{if(err) console.log("数据创建失败");console.log("数据已新建成功!");
})
​

简单值工程化:

/* 引入文件使用 */
let mongo=require('mongoose');
​
/* 连接数据库 */
mongo.connect('mongodb://127.0.0.1/stus',{useNewUrlParser: true,//为可选参数,也是之前老版本去除警告需要的参数useUnifiedTopology: true,
});
​
/* 连接成功后执行打印 */
mongo.connection.on('connected',()=>{console.log('已和数据库连接!');
});

/* 引入文件使用 */
let mongo=require('mongoose');
​
/* 数据格式 */
const books=new mongo.Schema({bookname:{type:String,required:true,//是否必填unique:true,//唯一性minlength:1,//最小长度maxlength:10,//最大长度trim:true,//去掉左右空字符串},author:{type:String, required:true,},//字符串,必填count:{type:Number,},//数字hot: {type:Number, default:10,},//数字,热度,默认值10type:{type:String,required:true,},//字符串,类型date:{
type:Date,
default:Date.now,//现在的日期}
});
​
/* 创建数据模型
1:数据模型名称
2:数据结构
3:数据模型对应的数据库中的数据集合名称*/
let booksModel=mongo.model('booksModel',books,'books');//第三个参数是一个数据库里面的集合
​
/* 暴露 booksModel*/
module.exports=booksModel;

* 引入文件使用 */
require('./connection.js');
let book = require("./booksModel.js");
​
​
第一种
​
/* 生成数据 */
let arr=[{bookname:"碎脸",author:"鬼古女",count:20000,hot:20,type:"恐怖",
},{bookname:"极具恐怖",author:"弹指一笑间0",count:30000,hot:17,type:"悬疑",
},{bookname:"烧纸人",author:"于雷",count:15000,hot:18,type:"冒险",
},{bookname:"记忆迷踪",author:"启山",count:12000,hot:14,type:"探险",
},{bookname:"蝴蝶公墓",author:"蔡骏",count:8000,type:"爱情",
}];
​
/* 插入数据 */
book.create(arr,(err,data)=>{if(err) console.log("数据创建失败");console.log("数据已新建成功!");
})
​
​
第二种
​
/* 第二种创建方式 只能单次new一个对象 */
let model = new book({bookname:"老妖精",author:"多好多好",hot:30,count:3000,type:"玄幻"
});
model.save((err,data)=>{if(err) console.log(err);else{console.log(data);}
});
​
​
/* 第三种创建方式  */
async function add() {let obj = {bookname: "完美界",author: "张东",hot: 20,count: 2000,type: "玄幻",};await book.create(obj);}add();

JavaScript mongodb(数据库)简单值相关推荐

  1. Node.js毕业设计——基于Node.js+JavaScript+MongoDB的供求信息网站设计与实现(毕业论文+程序源码)——供求信息网站

    基于Node.js+JavaScript+MongoDB的供求信息网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Node.js+JavaScript+MongoDB的供求信息网站设计 ...

  2. python操作mongodb数据库

    2019独角兽企业重金招聘Python工程师标准>>> 一.MongoDB 数据库操作 连接数据库 import pymongo conn = pymongo.Connection( ...

  3. 58 Node.js中操作mongoDB数据库

    技术交流 QQ 群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder 的程序人生 1.数据库概述及环境搭建 1.1 为什么要使用数据库 动态网站中的数据都是存储在数据 ...

  4. 关于MongoDB数据库的总结

    既然要说MongoDB数据库,先引入NoSQL的概念. NoSQL: NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系 ...

  5. 前端笔记之NodeJS(四)MongoDB数据库Mongoose自制接口MVC架构思想|实战

    一.MongoDB数据库 1.1 NoSQL简介 随着互联网web2.0网站的兴起,传统的SQL数据库(关系数据库)在应付web2.0网站,特别是超大规模和高并发的SNS(social network ...

  6. mongodb数据库淘汰_MongoDB 等 NoSQL 与关系型数据库相比,有什么优缺点及适用场景?...

    利益相关:MongoDB 员工,开发 MongoDB 数据库 5 年.十年前,当 Dwight 和我开始这个后来成为 MongoDB 的项目的时候,我们绝对没有想到它今天的样子.我们只有一个信念:让开 ...

  7. Mongodb数据库初识

    Mongodb数据库初识 一.什么是数据库 1.标准定义 2.数据库的概念 3.数据库的简单理解 4.使用数据库的原因 ①普通文件系统存储大量数据的问题 ②数据库的高效性 二.数据库的分类 1.关系型 ...

  8. 浅析MongoDB数据库的海量数据存储应用

    [摘要]当今已进入大数据时代,特别是大规模互联网web2.0应用不断发展及云计算所需要的海量存储和海量计算发展,传统的关系型数据库已无法满足这方面的需求.随着NoSQL数据库的不断发展和成熟,可以较好 ...

  9. MongoDB数据库(了解MongoDB及基础命令,备份数据库)

    文章目录 MongoDB数据库(了解MongDB及基础命令,备份数据库) 什么是MongoDB ? 主要特点 配置mongdb数据库 多实例配置 数据库操作 备份数据库 MongoDB数据库(了解Mo ...

  10. [置顶] NoSQl mongodb数据库 配置篇

    mongodb飞一般的数据库 序言 一直想接触一下大数据量的开发,最近发现NoSQL数据库有着关系型数据库非常明显的优势,特别是对于海量数据的处理 还有其他一些数据这里就不多说了 大家可以去看看了解一 ...

最新文章

  1. 【CV】10种轻量级人脸检测算法大PK | 代码集合开源
  2. mysql半备份_MySQL半同步复制与增强半同步复制详解及安装
  3. kotlin集合操作符——顺序操作符
  4. Hive的安装和配置
  5. 渲染终极者 finalRender R3.5 SE for 3ds max/design 2009/2010/2011 32位/64位 汉
  6. cmd命令 - vue项目:单独安装vue-router
  7. 深度学习笔记(43) Siamese网络
  8. 通过案例学调优之--和 LOG BUFFER 相关的主要 Latch
  9. redhat 7.2更新yum源时踩的坑
  10. 算法59----打家劫舍【动态规划】
  11. centreon与nagios整合
  12. php是一种,php是一种什么类型的语言
  13. screentogif能录制声音吗_学会了吗?使用GoldWave录制电脑中的声音
  14. 计算机系统新手入门,电脑初学者入门教程
  15. DIAMOND: 超快的蛋白序列比对软件
  16. Docx4j简单学习
  17. 脚本重启电信天翼网关
  18. np.array_split()np.split()
  19. python分割出两幅图像重叠区域代码
  20. 计算机专业就业方向与前景以及你所要具备的技能(本科生)

热门文章

  1. JavaPoet动态生成代码,高薪程序员必会
  2. Arouter源码解析(二)——ASM和JavaPoet
  3. 文章8:多功能智能跟随行李箱控制系统设计 | 本科毕业设计 - 【毕设答辩问答记录】
  4. Hadoop第四天--shell编程
  5. HDFS 本地编程报错java.net.ConnectException: Call From LAPTOP-LJF22VB3/192.168.56.1 to 192.168
  6. 定时器自动装载c语言,定时器初始化新写法
  7. 透过数据读懂纷繁世界 中译语通“NexMagic再·奇迹”年度峰会召开
  8. html 中的 css 的强制换行与不换行文本
  9. 区块链技术的概念及作用
  10. Android Studio 使用Profiler时App崩溃闪退