gpt4 book ai didi

javascript - 将新字段和值推送到node.js中的json数组对象

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:52 25 4
gpt4 key购买 nike

我是 Node.js 新手。我需要在 jqgrid 中显示名称,但我只将一个文档的 id 存储到另一个文档中。

示例

我有 2 个文件,例如学生主文件和学生分数文件。我必须在 jqgrid 中显示标记详细信息。在标记文档中,我存储了学生 ID 而不是姓名。如何获取名称并将新对象发送到 jqgrid?

我的代码如下:

exports.getAllstudentsmark = function(req, callback)
{
studentsmarks.find(function(error, studentsmarks_collection) {
if( error ) callback(error)
else {

studentsmarks_collection.toArray(function(error, results) {
if( error ) callback(error)
else {
newresult = results;
for(i=0;i<results.length;i++)
{
newresult[i]['studentname'] = getStudentName(results[i].studentid);
}
console.log(newresult);
callback(null, newresult)}
});
}
});
}

var getstudentObjectId = function(id)
{
return student.db.bson_serializer.ObjectID.createFromHexString(id);
}
var getStudentName = function(id)
{
student.findOne({_id: getstudentObjectId (id)}, function(e, o){
console.log(o.name);
return o.name;
});
}

newresult[i]['studentname'] 总是变得未定义。但是如果我登录 getStudentName 函数,我可以在 getStudentName 函数中得到答案。

我的回调函数只遇到这个问题。如何以简单的方式解决并获得结果。请帮助任何人。

最佳答案

for 循环中尝试一下

newresult.push({'studentname': getStudentName(results[i].studentid) });

说明:当您访问 newresult[i] 时,它不存在,因此不可能访问它的 studentname 字段

关于javascript - 将新字段和值推送到node.js中的json数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21238043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com