const MongoClient = require('mongodb').MongoClient

const url = "mongodb://localhost:27017"
const dbName = 'express-project' // 连接数据库
MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {
if (err) throw err
console.log('数据库已连接')
const db = client.db(dbName)
// 创建集合
db.createCollection("user", (err, res) => {
if (err) throw err
console.log('成功创建集合')
})
db.createCollection("alias", (err, res) => {
if (err) throw err
console.log('成功创建集合')
})
// ----------------------插入一条数据
let user = db.collection("user")
let alias = db.collection("alias")
let myInfo = { name: '贾克斯', age: 18 }
user.insertOne(myInfo, (err, res) => {
if(err) throw err
console.log('成功插入一条数据')
})
alias.insertOne({_id: 1}, (err, res) => {
if(err) throw err
console.log('成功插入一条数据')
}) // ----------------------插入多条数据, insertMany()
let myFriends = [
{ name: '菲奥娜', age: 20 },
{ name: '杰斯', age: 19 },
{ name: '弗拉基米尔', age: 25}
]
user.insertMany(myFriends, (err, res) => {
if(err) throw err
console.log(`成功插入${res.insertedCount}条数据!`)
}) // ----------------------查询数据, find(condition)
user.find({ name: '贾克斯' }).toArray((err, docs) => {
console.log('有如下数据:')
console.log(docs)
}) // ----------------------多表联查,左连接查询
user.aggregate([
{
$lookup:{
from: 'alias', //左查询集合
localField: 'alias_id', // 本地字段
foreignField: '_id', // 对应本地字段的左查询集合字段
as: 'userlist'
}
}
]).toArray((err, docs) => {
if (err) throw err
var jsonDoc = JSON.stringify(docs)
console.log(jsonDoc)
}) // ----------------------更新单条数据
alias.updateOne({ "_id": 1 }, {$set:{ "alias": "武器大师"}}, (err, res) => {
if (err) throw err
console.log("文档更新成功")
}) // ----------------------更新多条数据
user.updateMany({ "age": 18 }, { $set: { "relationship": "opponent"}}, (err, res) => {
if (err) throw err
console.log(`${res.result.nModified}条文档被更新了`)
}) // ----------------------删除单条数据
user.deleteOne({name: "杰斯"}, (err, res) => {
if (err) throw err
console.log(`已删除`)
}) // ----------------------删除多条数据
user.deleteMany({age: 18}, (err, res) => {
if (err) throw err
console.log('已删除');
}) // ----------------------删除一个集合
user.drop((err, res) => {
if (err) throw err;
console.log('已删除集合')
client.close()
})
})

Express使用MongoDB常用操作的更多相关文章

  1. mongodb常用操作语句

    mongodb常用操作语句 A:创建数据表 db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean&g ...

  2. MongoDB常用操作

    (备注: 对于 window, 不需要sudo) 验证成功与否: * 启动服务器: $sudo mongod --dbpath C:\data\db (需要 指明数据库存放的目录) * 打开shell ...

  3. MongoDB系列:二、MongoDB常用操作练习

    最近在自学MongoDB,在此记录一下,当做学习笔记了(不断更新中)!! 一.背景 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存 ...

  4. MongoDB常用操作一查询find方法db.collection_name.find()

    来:http://blog.csdn.net/wangli61289/article/details/40623097 https://docs.mongodb.org/manual/referenc ...

  5. MongoDB常用操作--简介

    mongodb在项目中使用越来越觉得日志方面的记录和查询是远远优于MySQL的,所以对其一些基本的操作进行了整理,以下就是整理的一些规则插入数据: insert插入多组数据:inserrAll修改数据 ...

  6. MongoDB常用操作一查询find方法(转)

    来:http://blog.csdn.net/wangli61289/article/details/40623097 https://docs.mongodb.org/manual/referenc ...

  7. MongoDB常用操作整理

    Mongodb:是一种NoSQL数据库,NoSQL:Not Only SQLSQL: 数据表->JDBC读取->POJO(VO.PO)->控制层转化为JSON数据->客户端 这 ...

  8. MongoDB常用操作--集合2

    1.查询集合中的文档,可以使用命令 db.集合名称.find({条件}),或者使用 db.集合名称.findOne() 查询第一个文档 2.查询集合中的文档,返回某些特定的键值 3.查询集合中的文档 ...

  9. MongoDB常用操作总结

    ====================================MGDB的操作====================================== 0.创建数据库时使用(use 数据库 ...

随机推荐

  1. centOS 安装Python3与python2并存

    如果本机安装了`python2`,尽量不要管他,使用`python3`运行python脚本就好,因为可能有程序依赖目前的`python2`环境, 比如`yum`!!!!! 不要动现有的`python2 ...

  2. Linux中 设置apache,mysql 开机启动

    linux开启启动的程序一般放在/etc/rc.d/init.d/里面,/etc/init.d/是其软连接 mysql设为linux服务 cp /usr/local/mysql5/share/mysq ...

  3. yum快速安装gitlab

    安装gitlab前戏使用官方的源,还是比较慢的,gitlab官方提供了一个清华大学的源 新建 /etc/yum.repos.d/gitlab-ce.repo,内容为 源[gitlab-ce]name= ...

  4. NDK---使用,开发步骤

    使用NDk的场景: 1.某些方法,是使用C,C++本地代码实现的,然后,我想在Java中调用这些方法.这个时候,就需要使用到JNI技术. 应用NDK的时候,分两个部分,Java部分,JNI层部分,本地 ...

  5. margin 居中

    左右auto加个宽度.margin-left: auto; margin-right: auto; width:640px;

  6. js_setCookie,getCookie和checkcookie函数

    随便说说: cookie和sessionStrong,localStrong在web应用中都有一种存储的功能,也就是说可以把一些数据记录在浏览器.cookie和后两者的主要区别 是cookie是和后端 ...

  7. hdu 1159 Common Subsequence(最长公共子序列 DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159 Common Subsequence Time Limit: 2000/1000 MS (Jav ...

  8. 【转】gif文件格式详解

    1.概述 ~~~~~~~~ GIF(Graphics Interchange Format,图形交换格式)文件是由 CompuServe公司开发的图形文件格式,版权所有,任何商业目的使用均须 Comp ...

  9. mysql in/no in/like

    % 任意字符 _ 任意一个字符 in (value,......) 在这里 not in (value,......) 不在这里 mysql> select 'a' not in (1,2,3, ...

  10. 2015多校第8场 HDU 5382 GCD?LCM! 数论公式推导

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5382 题意:函数lcm(a,b):求两整数a,b的最小公倍数:函数gcd(a,b):求两整数a,b的最 ...