app.js
const mongoose=require("mongoose");
const url="mongodb://127.0.0.1:27017/testData";
mongoose.connect(url, {
useNewUrlParser: true,
useUnifiedTopology: true
});
//监听连接失败还是成功
var db = mongoose.connection;
// on表示监听事件,如果数据库连接错误就会触发打印数据库连接失败
db.on('error', function () {
console.log("数据库连接失败!")
});
db.once('open', function () {
console.log("数据库连接成功!");
});
var orderItem=mongoose.Schema({
order_id:String,
title:String,
price:Number,
num:Number
})
var OrderItemModel=mongoose.model("Order_item",orderItem,"order_item");
OrderItemModel.aggregate([
{
$lookup:
{
from: "order",
localField: "order_id",
foreignField: "order_id",
as: "order_info"
}
}
],function(err,docs){
if(err){
console.log(err)
return;
}
console.log(JSON.stringify(docs))
})
运行node app.js,出现如下错误

原因:mongoose版本用的是最新的,需要改为 "mongoose": "^5.2.8",由于版本的迭代,所以aggregate方法有所改动