MongoDB是一款流行的文档型数据库,可以在Node.js中使用官方的MongoDB
包或者第三方包mongoose
进行操作。
使用官方的MongoDB
包来操作
官方文档:mongodb.github.io/node-mongod…
首先需要安装官方的MongoDB
包:
npm install mongodb --save
然后连接数据库并进行操作,例如查询所有数据:
const MongoClient = require('mongodb').MongoClient; const uri = 'mongodb://localhost:27017/test'; MongoClient.connect(uri, (err, client) => { const collection = client.db("test").collection("users"); collection.find({}).toArray((err, docs) => { console.log(docs); client.close(); }); });
使用第三方包mongoose
来操作MongoDB数据库
官方文档:mongoosejs.com/
首先需要安装mongoose
包:
npm install mongoose --save
然后连接数据库并进行操作,例如创建表:
const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test', { useNewUrlParser: true, useUnifiedTopology: true }); const userSchema = new mongoose.Schema({ username: { type: String, required: true }, password: { type: String, required: true }, email: String }); const User = mongoose.model('User', userSchema);
添加数据(增)
const user = new User({ username: 'admin', password: '123456', email: 'xiaochen@qq.com' }); user.save((err, ret) => { if (err) { console.log('保存失败'); } else { console.log('保存成功'); console.log(ret); } });
删除(删)
根据条件删除所有:
User.remove({ username: 'xiaoxiao' }, (err, ret) => { if (err) { console.log('删除失败'); } else { console.log('删除成功'); console.log(ret); } });
根据条件删除一个:
User.findOneAndRemove(conditions,[options],[callback]);
根据id删除一个:
User.findByIdAndRemove(id,[options],[callback]);
更新(改)
更新所有:
User.remove(conditions,doc,[options],[callback]);
根据指定条件更新一个:
User.FindOneAndUpdate([conditions],[update],[options],[callback]);
根据id更新一个:
User.findByIdAndUpdate('5e6c5264fada77438c45dfcd', { username: 'junjun' }, (err, ret) => { if (err) { console.log('更新失败'); } else { console.log('更新成功'); } });