javascript中对象名称中的连接字符串
我需要在mongoose和expressjs中以for循环中的对象名称连接两个字符串,如示例所示:javascript中对象名称中的连接字符串,javascript,node.js,express,mongoose,Javascript,Node.js,Express,Mongoose,我需要在mongoose和expressjs中以for循环中的对象名称连接两个字符串,如示例所示: for(var i = 0; i < 2; i++) { EnrollSessions.update({ CookieId: req.cookies.UserEnrollSession }, {$set: {"Files.File"+i+".RealName": file.originalname}, function (err,data) {
for(var i = 0; i < 2; i++)
{
EnrollSessions.update({ CookieId: req.cookies.UserEnrollSession },
{$set: {"Files.File"+i+".RealName": file.originalname},
function (err,data) {
console.log(data);
});
}
for(变量i=0;i<2;i++)
{
EnrollSessions.update({CookieId:req.cookies.UserEnrollSession},
{$set:{“Files.File”+i+“.RealName”:File.originalname},
功能(错误、数据){
控制台日志(数据);
});
}
因此,我需要更新Files.File1.Realname、Files.File2.Realname的值
可能吗?
提前感谢您的帮助。在您的示例中,for循环使用
i
值0和1运行,这将重命名File0和File1
您可以使用“Files.File”+(i+1)+“.RealName”
更好的方法是在for循环中创建update对象,然后将其发送到mongo
let obj = {
};
for(var i = 0; i < 2; i++)
{
let name = "Files.File" + (i + 1) + ".RealName";
obj[name] = file.originalname;
}
EnrollSessions.update({ CookieId: req.cookies.UserEnrollSession },
{$set: obj},
function (err,data) {
console.log(data);
});
让obj={
};
对于(变量i=0;i<2;i++)
{
让name=“Files.File”+(i+1)+“.RealName”;
obj[name]=file.originalname;
}
EnrollSessions.update({CookieId:req.cookies.UserEnrollSession},
{$set:obj},
功能(错误、数据){
控制台日志(数据);
});
或者,如果只有2个文件,您可以在同一个更新对象中手动硬编码它们,而不是for循环