Странный мангуст. Я получаю дерьмо из документа findOne. - PullRequest
2 голосов
/ 12 сентября 2011

Вот как выглядит мой скрипт:

UserModel.findOne(
 {userId:'xx123456'},
  function(err, doc) {
   if (err) {
    next(err);
   } else if (! doc) {
    next( 'findOne: User not found. Input: ' + JSON.stringify(data)));
   } else {
    next(null, {status:true, 
     message:'User is found' ,
     data:doc
   });
  }
 }
);

Когда я запускаю модульное тестирование в командной строке, doc - это документ Mongo.например, {userId: 'xx123456', name: "My Name '}

Однако, когда я создаю веб-приложение, вызывающее эту функцию с точно таким же userId, doc.userId становится пустым. Однако я могу найтиданные в doc._doc почему это?

У меня есть другой сайт, который нормально возвращает полный документ из "doc". Почему возникает несоответствие ...

Я должен сделать это, чтобы нормализоватьданные: if (docs) docs = JSON.parse (JSON.stringify (docs));

1 Ответ

0 голосов
/ 14 сентября 2011

Не совсем уверен, что происходит, но сначала я попробую UserModel.find ({});Сделайте это, чтобы увидеть, что, если что-нибудь, вернется.Если ничего не возвращается, у вас есть проблема.

Кроме того, одна проблема, которую я видел, заключается в том, что Mongoose чувствителен к регистру.Убедитесь, что 'userId' не должен быть чем-то вроде 'userid.'Командная строка будет работать (насколько я видел) с неправильным регистром.Мангуст / Узел не будет.

...