Node.js + Mongodb如何从Json格式获取属性值?

时间:2015-10-14 03:15:04

标签: node.js mongodb

我使用Node.js构建服务器并使用MongoDB数据库。我不知道如何从数据库返回的结果中获取属性值。格式为JSON,代码为:

 exports.queryExams = function(db, data, callback) {
        var exams = db.collection("exams");
        var stream = exams.find(data).stream();
        stream.on("data", function(item) {
            callback(item);
        });

    app.post("/showExam", urlencodedParser, function(req, res) {

            var examName = req.body.examName;

            console.log(examName);

            var data = {examName:examName};

            MongoClient.connect(url, function(err, db) {
                assert.equal(null, err);
                console.log("Connected correctly to server");
                examDao.queryExams(db, data, function(result) {
                    console.log(result);
                    db.close();
                });
            });
        });

示例数据

{ _id: 561cc05ba9659d040569ffdf,
  examName: 'Test1',
  userName: 'Jack',
  examId: 3,
  array: 
   [ { examsId: 1, databaseId: 146 },
     { examsId: 2, databaseId: 1168 },
     { examsId: 3, databaseId: 1169 },
     { examsId: 4, databaseId: 147 },
     { examsId: 5, databaseId: 145 } ] }

如何获取属性值?

1 个答案:

答案 0 :(得分:0)

你在谈论什么属性?

如果您只想访问结果对象的某个属性,可以使用点样式语法访问它们:

head

或者访问字典语法

中的属性
console.log(result.examName);

可以循环数组:

console.log(result["examName"]);

作为旁注:我会在每次处理请求时尝试不打开MongoDB连接,而是尝试打开MongoDB连接一次并回收/重用它。在最好的情况下,使用MongoDB的NodeJS连接器的连接池功能。