node - MongoDB数据库

mongod

安装配置

Mongodb官网下载最新版本的Mongodb下载地址

下载msiwindow安装包,可以装到C盘或者D盘目录下

配置

由于我是安装在D盘的环境下

D:\Program Files (x86)\MongoDB\Server\3.2\bin

所以在bin文件夹下找到mongod.exe命令,然后通过管理员执行mongod --dbpath x路径x,路径可以是任何地方,我这里选择在D盘的MongoDB目录下,当然路径不要包含特殊的字符串,比如Program Files (x86)也不行

mongod --dbpath D:\mongodb\data\db

命令

mongo  进入mongo环境
show dbs :查看当前的数据库列表
show collections:查看当前库当中的集合列表
use 数据库名 : 使用指定的库
db:查看当前所在的数据库
db.dropDatabase:删除当前的数据库
use 数据库名: 新增数据库
db.集合名,insert({name:"zxr"}) //新增一个集合里面的文档{name:"zxr"}
db.score.insert({userName:"xiaozhang"}):的score集合当中增加了一个文档
mongoimport  --db scoreList --collection score --file E:\1924\Lession04\data --drop
--db:指定数据库
--collection:指定集合
--file:指定导入的文件
--drop:可省略。如果使用该属性则是覆盖,否则是追加。
删 remove
db.data.remove({}) : 删除所有文档
db.data.remove({name:"997"}) : 删除name:"997"
db.data.remove({age:{$gte:16}},{justOne:true}):删除年龄大于等于16的符合条件的第一个文档。
改 update
db.data.update({name:"zhangsan"},{age:10})   完整替换 把{name:"zhangsan"}的文档替换成{age:10}的文档
db.data.update({userName:"王五"},{$set:{sex:"女"}}) :将名字为王五的性别修改为女
db.data.update({sex:"男"},{$set:{age:18}}):只能修改一条。
db.data.update({sex:"女"},{$set:{age:16}},{multi:true}):更改多条。
db.data.update({userName:"二哈"},{$inc:{age:1}}):根据条件,将年龄加1
查 find
db.集合名.find() : 查找当前库下集合名的文档列表
db.集合名.count():指定集合文档数量
db.集合名.find().count() : 根据条件查找数量
db.集合名,find({name:"zxr"}) :查找name:zxr的数据
db.集合名.find({sex:"女"})):查找性别为女的集合。
db.集合名.find({userName:/常/}):模糊查找。查找名字当中包含常
db.集合名.find({"score.yuwen":2}):查找语文成绩为2的文档
db.集合名.find({age:{$gt:12}}):查找年龄大于12
    $gt:大于
    $gte:大于等于
    $lt:小于
    $lte:小于等于
    $ne
db.集合名.find({age:{$ne:12},sex:"女"}):多条件,年龄不等于12,性别为女
或
db.集合名.find({$or:[{sex:"女"},{age:12}]}):查找性别为女,或年龄为12的记录
db.集合名.find().skip(2):跳指指定的文档数(
跳过前两行文档)
db.集合名.find().limit(3):取指定的文档数(取前三行文档)
db.集合名.find().sort({age:-1}):按照年龄的倒序。1正序,-1倒序
db.集合名.find().sort({age:-1,"score.yuwen":1}):按照年龄的倒序,如果年龄相同,按照语文的正序
分页
    已知:
        1、pageIndex:指定的页数
        2、count:文档数量
        3、pageSum:总页数      pageSum = Math.ceil(count/pageNum)
        4、pageNum:每页显示的条数
    求:
        每页要显示的内容。
    问:总条数9,每页2条,每一页的内容如何求
        skip = (pageIndex-1)*pageNum;
        1、 db.score.find().sort({age:-1}).skip(0).limit(2)
        2、 db.score.find().sort({age:-1}).skip(2).limit(2)
        3、 db.score.find().sort({age:-1}).skip(4).limit(2)
        4、 db.score.find().sort({age:-1}).skip(6).limit(2)
        4、 db.score.find().sort({age:-1}).skip(8).limit(2)

node 操作数据库

初始化

npm init -y

下载mongodb

  npm install mongodb -S
  cnpm install mongodb -S

引入

  const mongodb = require("mongodb");
    const mongoClient = mongodb.MongoClient;// 端,可以连接数据库。从而实现对数据的操作
    mongoClient.connect("mongodb://127.0.0.1:27017",function(err,client){
        client.db();// 指定你要操作的数据库
    })

挂载数据库

  1. 创建一个文件夹 mongo
  2. mongod --dbpath
  3. 挂载将cmd最小化
  4. http://127.0.0.1:27017
    结果:It looks like you are trying to access MongoDB over HTTP on the native driver port.

1.连接数据库

var MongoClient = require('mongodb').MongoClient;
//结尾是选择数据库名
var DB_CONN_STR = 'mongodb://localhost:27017/wscats';
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("连接成功!");
});

2.查询数据

注意查询回来的结果需要toArray来遍历处理

var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/wscats';

MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("连接成功!");
//选中age集合,并用find方法把结果集拿回来进行处理
db.collection("age").find({title: "cba"}).toArray(function(err, result) {
 if (err) {
   console.log('Error:' + err);
   return;
 }
 console.log(result);
});
});

经过测试,读取大于100条的时候会出现报错官网解释,可以尝试用forEach代替

db.collection('pokemon').find({})
.forEach(function(item){
   console.log(item)
})

查询ID

查询自动生成的ObjectId

var ObjectId = require('mongodb').ObjectId;
let _id = ObjectId("5bcae50ed1f2c2f5e4e1a76a");
db.collection('xxx').find({
 "_id": _id
}).forEach(function (item) {
 console.log(item)
})

3.插入数据

insert函数第一个参数是需要插入的值(可以一个也可以多个),第二个参数是接受一个回调函数,当值插入成功后回返回插入值得一些关键信息,比如_id

var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/wscats';

MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("连接成功!");
    const db = client.db("demo");
db.collection("age").insert([
 {
   title: "插入的值A"
 }, {
   title: "插入的值B"
 }
], function(err, result) {
 if (err) {
   console.log('Error:' + err);
   return;
 }
 console.log(result)
})
});

4.更新数据

注意如果不加$set就是完全替换原来的那份(没有设置的属性值将会丢失),加上$set则只是更新对应的属性值,其余不做改变

var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/wscats';

MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("连接成功!");
db.collection("age").update({
 "_id": 1
}, {
 $set: {
   title: "你好,世界",
   skill: "js"
 }
}, function(err, result) {
 if (err) {
   console.log('Error:' + err);
   return;
 }
 //console.log(result);
});
});

5.删除数据

var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/wscats';

MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("连接成功!");
db.collection("age").remove({
 "_id": 1
}, function(err, result) {
 if (err) {
   console.log('Error:' + err);
   return;
 }
 //console.log(result);
 //关闭数据库
 db.close();
});
});

6.关闭数据库

db.close();

原文地址:https://www.cnblogs.com/zhaoxinran997/p/12184435.html

时间: 2024-11-12 01:38:38

node - MongoDB数据库的相关文章

node mongodb数据库 打开 和操作

安装好mongo数据库之后   在安装数据库的那个盘符 比如 C 盘 新建一个文件夹 叫 mongos 如 c:\mongos 打开第一个小黑窗 输入 mongod -storageEngine mmapv1 -dbpath c:\mongos 这是数据库的仓库 打开第二个小黑窗 输入  mongo 查看c盘 mongos文件夹里 出现 admin.0和local.0就说明已经安装好 1,查看数据库 show dbs------查看数据库 2,使用和创建数据库 有就进入 没有就创建 use st

node操作MongoDB数据库之插入

在上一篇中我们介绍了MongoDB的安装与配置,接下来的我们来看看在node中怎样操作MongoDB数据库. 在操作数据库之前,首先应该像关系型数据库一样建个数据库把... 启动数据库 利用命令提示符: 1.在创建数据库之前,我们应该启动数据库服务器 mongod --dbpath d:\MongoDB\data 注意:不要关闭这个数据库服务器...不然数据库就被关闭了 2.使用如下语句创建一个数据库 use mydb 这样mongodb会帮助我们自动创建他们,当然这个时候数据库还是空的. 3.

node.js零基础详细教程(6):mongodb数据库操作

第六章 建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑.编写接口,最后完成一个完整的项目后台,预计共10天课程. 数据库 数据库管理结构,一般分为两种:B/S架构   C/S架构. B/S架构:  Browser/Server,浏览器/服务器模式,即通过浏览器和服务器端的数据库进行交互 C/S架构:  Client/Server,客户端/服务器模式,即通

vue+vux 仿飞猪app火车票部分(五)---城市列表保存到MongoDB数据库并且启用node.js服务

把车站列表保存到数据库,并且从本地创建服务 node.js创建httpserver 1.搭建基于express的运行环境 全局安装express-gengerator cnpm install -g express-gengerator 2.创建express项目,创建了本地服务 express server 生成server目录,目录下的bin是可执行文件,运行bin下的www文件启动服务 node server/bin/www 启动成功打开浏览器localhost:3000 server下的

Node.js+Express+MongoDB数据库实现网页注册登入功能

通过 Node.js + Express + MongoDB 实现网页注册账号 和 登入账号的功能 项目准备: 1: 事先准备好项目的页面 (首页页面 index.html)(登入页面 login.html) (注册页面 register.html) 2:    安装好 Node.js 需要使用的第三方模板 3:  设计路径设计 4:  理清功能需求 5:  创建 app.js  router.js   mgdb.js 三个 js 文件  和 public 和 views 文件夹 作用: app

Node+MongoDB操作数据库

1.数据库(MongoDB)连接 (1)安装应用生成器express npm    install    express-generator    -g (2)创建应用 express    应用名 (3)安装mongodb模块 npm    install    mongodb (4)页面渲染类型转换成HTML a.装载ejs 1)npm    install    ejs b.app.js配置 1)app.set('view',path.join(__dirname,'views')); 2

nodejs如何mongodb数据库

nodeJs链接mongodb数据库有两种方式,第一种是利用官方自己开发的npm包mongodb链接,第二种是利用第三方npm包mongoose链接:这里如果是window操作系统,建议用mongoose第一种,mongodb链接: 先在项目中安装mongodb包: npm install mongodb 安装成功以后,建立一个mongodb.js文件,写入代码: var mongo = require('mongodb'), Server = mongo.Server, Db = mongo.

Express 框架、模板,MongoDB数据库

今天跟大家分享的是Express框架.模板.MongoDB数据库:个人觉得很有用,希望能在大家做项目的的过程中能有所帮助. Express 模板 这是一个用户量较大的一个Node框架,提供了一整套的Node模板,在里面可以使用EJS模板引擎.. 基于 Node.js 平台,快速.开放.极简的 web 开发框架.(开发后端) Express的性能对Node没有影响,依然很高. 安装方法: 1. 全局安装express 和 express应用生成器 npm install express -g np

Node+mongodb线上部署到阿里云

部署使用的主要工具是pm2+nginx,使用码云的私有仓库,自动部署到服务器,私有仓库和服务器要事先设置好免密码登录.使用DNSPOD进行域名解析.事先准备好阿里云服务器,域名,一个网站.阿里云已经安装好mongodb数据库,node,pm2,git等.将本地网站所用的数据库备份一份,上传到服务器上. 1.先在dbspod添加一条A记录 2.码云上建立私有仓库 3.在项目中添加ecosystem.json 4.在服务器/www目录下创建文件夹 5.上传代码到私人仓库和服务器 一键部署到服务器 p