recherche

Maison  >  Questions et réponses  >  le corps du texte

node.js - Mongoose obtient les informations utilisateur via UserId et ne peut pas les enregistrer dans l'objet

const ep = new eventproxy();
  ep.fail(next);

  EveryDay.getRankByTodayDate(TodayDate, ep.done('ranks'));

  ep.all('ranks', function(ranks){
    ranks.forEach(function(rank){
      User.getUserById(rank.userId, ep.done(function(user){
        rank.nickName = user.nickName; //这里不生效
        console.log(rank,rank.nickName); rank.nickName 有值,但是打印出的rank没有nickName 属性
        ep.emit('user');
      }))
    });
rank.nickName = user.nickName;

Pourquoi l’attribution directe d’une valeur comme celle-ci ne prend-elle pas effet ? Comment devons-nous enregistrer le pseudonyme de l'utilisateur interrogé dans l'objet de données ?

伊谢尔伦伊谢尔伦2753 Il y a quelques jours1115

répondre à tous(2)je répondrai

  • 某草草

    某草草2017-06-05 11:10:53

    La raison est la réponse de @夜场小新新.

    Actuellement, j'utilise cette méthode :

     EveryDay.find({TodayDate}).lean()
        .exec((err, ranks) => {
        ...
        }
        )

    J'en ajouterai d'autres lorsque je trouverai de meilleures réponses plus tard.

    répondre
    0
  • ringa_lee

    ringa_lee2017-06-05 11:10:53

    Vous le saurez en déboguant la structure des données des résultats de la requête de mangouste. Seules les données définies par votre schéma peuvent être exploitées sur les données de mangouste. Seules les méthodes get/set ne peuvent être exploitées que si elles sont enregistrées dans. _doc. dans ou converti en un objet normal

    répondre
    0
  • Annulerrépondre