1.模拟插入1条订单数据
MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, function(err, db) { if(err) throw err; var dbo = db.db('koa'); // koa 库名 var obj = { _id: 1, product_id: 151, status: 1 }; // 模拟插入1条订单数据 dbo.collection('orders').insertOne(obj, function(err, res) { if(err) throw err; console.log('文档插入成功'); db.close(); }) });
2.模拟插入3条产品数据
MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, function(err, db) { if(err) throw err; var dbo = db.db('koa'); // koa 库名 var obj = [ { _id: 151, name: '笔记本电脑' }, { _id: 152, name: '耳机' }, { _id: 153, name: '台式电脑' } ]; // 模拟插入3条产品数据 dbo.collection('products').insertMany(obj, function(err, res) { if(err) throw err; console.log('插入的文档数量为: ' + res.insertedCount); db.close(); }) });
3.表关联 -- aggregate
var MongoClient = require('mongodb').MongoClient; var url = require('./config/keys').mongoURI; /** * 表关联 * aggregate */ MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, function(err, db) { if(err) throw err; var dbo = db.db('koa'); // koa 库名 dbo.collection('orders').aggregate([ // 聚合函数 { $lookup: { from: 'products', // 右集合 localField: 'product_id', // 左集合 join 字段 foreignField: '_id', // 右集合 join 字段 as: 'order_details', // 新生成字段(类型array) } } ]).toArray(function(err, res) { if(err) throw err; console.log(JSON.stringify(res)); db.close(); }) });
.