cari

Rumah  >  Soal Jawab  >  teks badan

node.js - mongoose mendapatkan maklumat pengguna melalui UserId dan tidak boleh menyimpannya ke objek

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;

Mengapa tidak memberikan nilai secara langsung seperti ini berkuat kuasa? Bagaimanakah kita harus menyimpan nama panggilan pengguna yang ditanya ke dalam objek data?

伊谢尔伦伊谢尔伦2753 hari yang lalu1120

membalas semua(2)saya akan balas

  • 某草草

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

    Alasannya ialah jawapan @nightclub小新新.

    Pada masa ini, saya menggunakan kaedah ini untuk menangani:

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

    Saya akan menambah lagi apabila saya mendapat jawapan yang lebih baik nanti.

    balas
    0
  • ringa_lee

    ringa_lee2017-06-05 11:10:53

    Anda akan mengetahui dengan menyahpepijat struktur data hasil pertanyaan mongoose Hanya data yang ditakrifkan oleh skema anda boleh dikendalikan pada data mongoose Hanya kaedah get/set yang tidak boleh dikendalikan melainkan ia disimpan _doc. dalam atau ditukar kepada objek biasa

    balas
    0
  • Batalbalas