1. 引入mongodb包
npm install mongodb
2. 链接数据库
链接之前必须保证有库和集合(表)
import { MongoClient, ServerApiVersion} from 'mongodb'const url = "mongodb+srv://<官网找到mongodb+srv得地址>"const client = new MongoClient(url, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1})
async function test() { try { await client.connect(); const database = client.db("test") const ratings = database.collection("testItem") const cursor = await ratings.find({"name":'jame'}).toArray(); } finally { await client.close(); }}run().catch(console.log(1)).finally(() => client.close())
3.增删改查
新增单条数据
insert(obj) { return new Promise(async (resolve, reject) => { await client.connect() var myobj = { name: '百度', url: 'https://www.baidu.com', type: 'cn'} const database = client.db("test") const ratings = database.collection("testItem") ratings.insertOne(myobj, function (err, res) { if (err) { reject(false) throw err } console.log("插入的文档为: " + res); resolve(true) client.close(); }) }) }
let obj = {"name":'jame'}
ratings.find(obj).toArray() // 查询数据
ratings.deleteOne(obj) // 删除单条数据
let myobj = [ { name: '百度', url: 'https://www.baidu.com', type: 'cn'}, { name: 'Google', url: 'https://www.google.com', type: 'en'}, { name: 'Facebook', url: 'https://www.google.com', type: 'en'}]ratings.insertMany(myobj) // 新增多条数据
let delObj = [{"name":'jame'},{"name": '百度'}]
ratings.deleteMany(delObj) // 删除多条数据
修改数据
update(oldObj, newObj) { return new Promise(async (resolve, reject) => { await client.connect() const database = client.db("test") const ratings = database.collection("testItem") ratings.updateOne(oldObj, {$set: newObj }, function (err, res) { if (err) { reject(false) throw err } console.log("更新1: " + res); resolve(true) client.close(); }); }) }
ratings.updateMany(oldObj, {$set: newObj } // 修改多条数据
Tip:操作数据库时候要使用promise来控制执行顺序