Node.js 从不同型号的nodejs mongodb express js获取数据
我有两个模型文件银行存款和子帐户详细信息。从子账户详细信息中,我想获得银行存款的当前余额。我想在mongodb和NodeJS中实现这一点。我目前正在执行aggreagate查找操作,但它将数组显示为空 BankdepositModel.jsNode.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( { 源子帐户:数组, 金额:数字, 支票注:号码:, 至银行账户:数组, 金额(大写):字符串, 银行参考
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:“子账户详细信息”
不工作…当前余额不存在我在银行存款收款中看不到当前余额
字段。它来自哪里?它应该来自子帐户详细信息