NodeJS为MongoDB数据提供缺失值和意外的$ db字段

时间:2018-02-12 12:49:44

标签: json node.js mongodb

我有一个简单的NodeJS应用程序运行一个http服务器,该服务器从MongoDB实例收集数据并将结果显示为JSON:

db.collection(collectionName).findOne({ '_id': id }, function (err, result) {
        if (err) {
            reportError(err, res);
            return;
        } else {
            outPut(result, res);
        }
});

在outPut函数中,我在'result'变量上调用JSON.stringify()并将其写入响应中。 但是,大部分数据都丢失了,并且从某处包含了一个空的$ db对象。以下是数据的子集:

"Kommun":1292,
"Lansdel":28,
"Delyta":[
   {
     "$id":"2",
     "$db":""
   },
   {
      "$ref":"691"
   },
   {
      "$ref":"247"
   }

使用Studio 3T查看记录似乎已经保存了我期望的所有数据。 MongoDb contents

为什么我没有在JSON对象中获取所有数据? $ db来自哪里?它是什么?

1 个答案:

答案 0 :(得分:1)

我的猜测是你using DBRefs。为了包含来自不同集合的引用数据,您必须自己查询这些数据。如果没有关于数据模式的更多信息,我无法向您展示代码示例。