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. PHP把数据库数据导入Excel

    <?php function xlsBOF() { echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0); return; ...

  2. ? 初识Webx 2

    初识Webx 1: http://www.cnblogs.com/lddbupt/p/5547189.html Webx Framework负责完成一系列基础性的任务. 比如系统初始化和响应请求. 系 ...

  3. Robot Framework 常用关键字使用方法

    1. Select From Listid=sourceConnoracle_source 从下拉框选取值. 2. Select Radio button  name value 选择单选框.也可以点 ...

  4. 2018DDCTF Misc部分WP

    题目给出了这样一串字符:d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7 ...

  5. 使用 ftrace 调试 Linux 内核【转】

    转自:http://blog.csdn.net/adaptiver/article/details/7930646 使用 ftrace 调试 Linux 内核,第 1 部分 http://blog.c ...

  6. api文档工具

    平台选型         Apidoc         文档参考:http://apidocjs.com        优点      文档齐全,操作简单,ui清晰,代码注解查询性强,语言支持多元化, ...

  7. [How to] UILocalNotification 的使用

    1.简介 IOS共分为本地和远程通知两种通知,本问介绍本地通知UILocalNotification的基本使用方法. 2.本地通知的实现: 步骤一:新建工程 在Xcode中新建一个single vie ...

  8. vim常用命令(复习版)(转)

    原文链接:http://blog.csdn.net/love__coder/article/details/6739670 1.光标移动 上:k 下:j 左:l 『字母L小写』 右:h 上一行行首:- ...

  9. pdf2htmlEX安装和配置

    1.下载 安装的依赖: sudo yum install cmake gcc gnu-getopt java-1.8.0-openjdk libpng-devel fontforge-devel ca ...

  10. elasticsearch批量删除(查询删除)

    注:delete by query只适用于低于elasticsearch2.0的版本(不包含2.0).有两种形式: 1.无请求体 curl -XDELETE 'localhost:9200/twitt ...