当mongoose查询提供与mongo shell不同的列表时,我应该在哪里进行故障排除?

时间:2014-03-27 06:22:01

标签: mongodb shell mongoose

窗户框。大多数数据库操作都正常。按照我在mongoose快速入门指南中读到的模式,通过脚本填充数据库。我用相同的模式来查询。麻烦的是:我收到了错误的数据(一些非常旧的包含在丢弃的数据库中),我的意思是:

一周前

A。在时间戳1月到3月的数据上运行populate.js(通过mongoose)    文档使用方案,其中json对象具有seq字段(1到任何)&时间戳    并使用mongoose快速启动站点上的模式通过保存插入

       var data = new model(dataPoint);
       data.save(function(err,d){ 
           if (err) console.log("..."); 
       });

B。删除了包含1月时间戳的文件

C。使用mongo shell,删除了集合,删除了数据库

今天

  1. 运行populate.js(通过mongoose)加载数据2月和2月月
  2. 通过mongo shell,查询显示按预期加载的数据。已验证(每个文档的序列号为1-140,时间戳(ISODATE)
  3. 从mongoose运行查询,并显示一周前的数据。
  4. 在mongo shell中:

        >use testa
        >db.A.find({seq:1}).pretty(){
            "seq" : 1,
            "_id" : ObjectId("5333993967a589342e728bb3"),
            "stats" : {
                "start" : ISODate("2014-02-24T06:33:20.034Z"),
                "duration" : 134
                },
            "__v" : 0
          }
    

    相比之下,nodejs脚本中的Mongoose查询会产生意外结果:

    var mongoose = require('mongoose');
    model.find(function(err,msg){
        mongoMsg = msg;
        console.log(msg[0].stats.start);   // bad data
    });
    

0 个答案:

没有答案