Node.js 从不同型号的nodejs mongodb express js获取数据

Node.js 从不同型号的nodejs mongodb express js获取数据,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我有两个模型文件银行存款和子帐户详细信息。从子账户详细信息中,我想获得银行存款的当前余额。我想在mongodb和NodeJS中实现这一点。我目前正在执行aggreagate查找操作,但它将数组显示为空 BankdepositModel.js var mongoose=require(“mongoose”); var BankDepositsSchema=新的mongoose.Schema( { 源子帐户:数组, 金额:数字, 支票注:号码:, 至银行账户:数组, 金额(大写):字符串, 银行参考

我有两个模型文件银行存款和子帐户详细信息。从子账户详细信息中,我想获得银行存款的当前余额。我想在mongodb和NodeJS中实现这一点。我目前正在执行aggreagate查找操作,但它将数组显示为空

BankdepositModel.js

var mongoose=require(“mongoose”);
var BankDepositsSchema=新的mongoose.Schema(
{
源子帐户:数组,
金额:数字,
支票注:号码:,
至银行账户:数组,
金额(大写):字符串,
银行参考号:字符串
},
{
时间戳:真
}
);
module.exports=mongoose.model(“BankDeposits”,BankDepositsCHEMA);
子帐户详细信息模型js

var mongoose=require(“mongoose”);
var SubAccountDetailsSchema=新的mongoose.Schema(
{
子帐户名称:字符串,
当前余额:数字,
帐户:数组
},
{
时间戳:真
}
);
module.exports=mongoose.model(“SubAccountDetails”,SubAccountDetailsSchema);
Controller.js

var BankDeposits=require(“../model/bankdepositmodel”);
var SubAccountDetails=require(“../model/subaccountsmodel.js”);
exports.create1=(请求、回复)=>{
var BankDeposit=新银行存款({
source_sub_账户:req.body.source_sub_账户,
金额:请求正文金额,
支票注释:要求正文。支票注释,
致银行账户:请求主体致银行账户,
大写金额:req.body.amount大写金额,
银行参考号:请求主体银行参考号
});
BankDeposit.save()
。然后(数据1=>{
res.send(数据1);
})
.catch(错误=>{
资源状态(500)。发送({
消息:err.message
});
});
};
//银行存款获得
exports.find1=(请求、回复)=>{
银行存款总额([
{
$lookup:{
发件人:“子帐户详细信息”,
localField:“当前余额”,
外币字段:“当前余额”,
as:“平衡”
}
}
])
。然后(appdata=>{
res.status(200).send(appdata);//成功获取时,服务器以状态200响应
})
.catch(错误=>{
res.status(400).send(err);//出错时,服务器以状态400响应
});
};
//子账户详情公告
exports.createSubAccountDetail=(请求、回复)=>{
var SubAccountDetail=新的SubAccountDetails({
子账户名称:req.body.sub账户名称,
当前余额:请求主体当前余额,
帐户:req.body.account
});
SubAccountDetail.save()子帐户
.然后(子帐户详细信息=>{
res.send(子帐户详细信息);
})
.catch(错误=>{
资源状态(500)。发送({
消息:err.message
});
});
};
//子帐户详细信息获取
exports.SubAccountDetail=(请求、回复)=>{
子帐户详细信息。查找()
。然后(子帐户详细信息=>{
res.send(子帐户详细信息);
})
.catch(错误=>{
资源状态(500)。发送({
message:err.message | |“检索注册表时出错。”
});
});
};

你可以这样得到它

BankDeposits.aggregate([
    {
      $lookup: {
        from: "SubAccountDetails",
        localField: "source_sub_account",
        foreignField: "sub_account_name",
        as: "sub_acount"
      }
    }
  ])
现在您将在返回数据的
sub\u account
属性中获得完整的
sub\u account
对象,当前的\u余额将处于相同状态


这是假设
子账户详细信息中的
子账户名称
银行存款中的
源子账户
相同

子账户详细信息
必须是
子账户详细信息
?在from表达式中
from:“子账户详细信息”
不工作…当前余额不存在我在
银行存款
收款中看不到
当前余额
字段。它来自哪里?它应该来自子帐户详细信息