ทำไมเราถึงควรใช้ MongoDB native แทน Mongoose
9 February, 2019, By Tar Jarupong
โดยปรกติแล้วเราจะเห็นบทความส่วนใหญ่ จะเป็น NodeJS + Mongoose ซึ่งถ้าถามว่าดีมั๊ย? มันก็ดีแต่สิงที่จะประสบพบเจอก็คือเรื่อง performance
FindOne | Find |
---|---|
Insert | InsertMany |
---|---|
เราจะเห็นว่าตัว Op/sec ของตัว Mongoose ทำงานช้ากว่า MongoDB native เร็วกว่า 2 เท่า
แต่!!
ทำไมเราถึงยังใช้ Mongoose อยู่ นั้นก็เพราะว่า Mongoose มันออกแบบมาแก้ปัญหาเรื่อง Callback ใน MongoDB native ยังไงล๊าเราลองมาดูโค๊ดกัน
Mongoose
const mongoose = require('mongoose');
const mongoDB = 'mongodb://127.0.0.1/my_database';
mongoose.connect(mongoDB);
mongoose.Promise = global.Promise;
const db = mongoose.connection;
MongoDB Native
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
db.close();
});
ทุกคนก็จะเห็นว่า ตัว MongoDB native มันเป็น callback ซึ่งมันจะเกิด callback hell ในที่สุดถ้าเรามีการทำ operation กับ MongoDB มาขึ้น แล้วเราจะแก้ไขยังไงดี นั้นสิทำยังไงดีล่ะครับท่านผู้ชม พอดีผมขี้เกียจเขียนต่อแล้วค่อยมาต่อคราวหน้านะขอรับ
Ref: