第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Nodejs中Mongodb使用

標(biāo)簽:
MongoDB Node.js

概述

Mongodb是知名的Nosql数据库。在使用Mongodb时,我们不需要额外去学习 SQL语句,而且Mongodb查询出的数据就是Javascript对象,对于前端攻城狮的学习非常友好。在Nodejs应用开发中,我们一般会首选Mongodb作为我们的数据库。下面我们用几个小例子来介绍Mongodb官方提供的Nodejs驱动基本用法。

安装

yarn add mongodb

ps:这里我们不介绍mongodb的安装及使用方法,如果有需要的童鞋可以自行百度~

使用

首先,我们开始连接数据库,mongodb的默认端口是27017。

//db.js
const MongoClient = require("mongodb").MongoClient;
const url = `mongodb://localhost:27017`;
module.exports = {
    db:null,
    open() {
        return new Promise(function(resolve,reject) {
            MongoClient.connect(url,(err,client)=>{
                if(err) {
                    throw new Error(err);
                }
                this.db = client.db('db');
                resolve(this.db);
            })
        })
    },
    close() {
        if(this.db) {
            this.db.close();
        }
    }
}

封装一个dbHelper对象,方便我们在后面使用时快速建立与关闭mongodb链接。下面我们利用dbHelper进行用户信息对查询、保存、更新和删除。
我们新建User类来实现这个功能。

//user.js
const crypto = require('crypto');
const dbHelper = require('./db.js');

class User {

	constructor(user) {
        let pw = crypto.createHash("md5").update(user.password).digest('hex')
        this.name = user.name;
        this.password = pw;
    }
	save() {
        let _user = {name:this.name,password:this.password};
        dbHelper.open().then(db=>{
            let userCollection = db.collection('users');
            userCollection.insertOne(_user,(err,result)=>{
                if(err) throw new Error(err);
                console.log('保存用户成功:'+JSON.stringify(_user));
                dbHelper.close();
            })
        })
	}
	static find(name) {
		return new Promise((resolve,reject)=>{
            dbHelper.open().then(db=>{
                let userCollection = db.collection('users');
                userCollection.findOne({name},(err,result)=>{
                    if(err) throw new Error(err);
                    console.log('找到用户:'+JSON.stringify(result));
                    dbHelper.close();
                    resolve(result);
                })
            })
        })
	}
	static findAll() {
		return new Promise((resolve,reject)=>{
            dbHelper.open().then(db=>{
                let userCollection = db.collection('users');
                userCollection.find({}).toArray((err,result)=>{
                    if(err) throw new Error(err);
                    console.log(`查询用户列表成功:`+JSON.stringify(result));
                    dbHelper.close();
                    resolve(result);
                })
            })
        })
	}
	static update(id,user) {
		dbHelper.open().then(db=>{
            let userCollection = db.collection('users');
            userCollection.updateOne({'_id':ObjectId(id)},{$set:user},(err,result)=>{
                if(err) throw new Error(err);
                dbHelper.close();
                console.log(`更新用户成功:`+user);
            })
        })
	}
	static remove(id) {
		dbHelper.open().then(db=>{
            let userCollection = db.collection('users');
            userCollection.deleteOne({'_id':ObjectId(id)},(err,result)=>{
                if(err) throw new Error(err);
                dbHelper.close();
                console.log(`删除用户成功:`+user);
            })
        })
	}
}

module.exports = User;

现在,我们已经建立了User模型,让我们测试下之前所写的功能是否正常。

//index.js
import User from './user.js'
let user = {
	name:"zhangsan",
	password:'12345'
}
let user = new User(user);
//保存用户
user.save();
//查找所有用户
User.findAll();
//更新用户
User.update('xxxxxxxxx');
//删除用户
User.remove('xxxxxxxxx');

总结

今天就写到这里吧,关于 mongodb 操作还有另外一个更高级的封装mongoose。下次有机会再详细说说mongoose,加油~

點擊查看更多內(nèi)容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消