នៅក្នុងមូលដ្ឋានទិន្នន័យ MongoDB ទិន្នន័យទាំងឡាយមានប្រភេទជា សំណុំទិន្នន័យ (object) នៅក្នុងភាសា ES6 ដែលជាទូទៅគេតែងអោយឈ្មោះថាជាវត្ថុ JSON ។ ដូចនេះ ដើម្បីបញ្ចូលទិន្នន័យផ្សេងៗទៅក្នុងមូលដ្ឋានទិន្នន័យ MongoDB យើងចាំបាច់ត្រូវកែច្នៃទិន្នន័យទាំងនោះ អោយទៅជាវត្ថុមានប្រភេទជាសំណុំទិន្នន័យជាមុនសិន។
មួយវិញទៀត សំណុំទិន្នន័យទាំងឡាយដែលត្រូវបញ្ចូលទៅក្នុងបណ្តុំទិន្នន័យនៅក្នុងមូលដ្ឋានទិន្នន័យ MongoDB ត្រូវគេអោយឈ្មោះថាជា ឯកសារ (document) ដែលនៅក្នុងមូលដ្ឋានទិន្នន័យ MySQL គេតែងហៅថាជាក្រឡាដេក (row ឬ record) ។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import express from 'express'
import path from 'path'
const app = express()
const port = process.env.PORT || 3000
const __dirname = path.resolve()
import index from './routes/index.js'
import backend from './routes/backend.js'
import mydb from './models/connectMongoDB.js'
app.use('/',async function(req,res,next){
req.mydb = await mydb
req.__dirname = __dirname
next()
})
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'ejs')
app.use(express.static(path.join(__dirname, 'public')))
app.use(express.urlencoded({extended:false}))
app.use(express.json())
app.use('/',index)
app.use('/backend',backend)
app.listen(port,function(){
console.log(`This application is listening to the port: ${port}`)
})
/* ./routes/index.js */
import express from 'express'
import func from '../models/mongodb.js'
const index = express.Router()
index.use(func)
index.get('/',(req,res)=>{
res.render('base',req.data)
})
export default index
//models/mongodb.js
function func(req,res,next){
let myobj = {"name":"Tin Sokhavuth", "gender":"male"}
req.mydb.collection("users").insertOne(myobj,function(err, res) {
if (err) throw err
req.data = {}
req.data.message = `One document was inserted!`
next()
})
}
export default func
លើសពីនេះទៀត បើសិនជាយើងចង់បញ្ចូលទិន្នន័យជាច្រើនឯកសារចូលទៅក្នុងបណ្តុំទិន្នន័យនៅក្នុងមូលដ្ឋានទិន្នន័យ MongoDB យើងចាំបាច់ត្រូវប្រើប្រាស់វិធីឈ្មោះ insertMany() ដោយធ្វើដូចខាងក្រោមនេះ៖
//models/mongodb.js
function func(req,res,next){
let myobj = [
{name:"Tin Sokhavuth",gender:"male"},
{name:"Tin Niroth",gender:"famale"},
{name:"Tin Sipha",gender:"famale"}
]
req.mydb.collection("users").insertMany(myobj,function(err, res) {
if (err) throw err
req.data = {}
req.data.message = `A number of documents were inserted!`
next()
})
}
export default func