Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何等待填充mongoose查询?_Node.js_Mongodb_Mongoose_Async Await_Mongoose Populate - Fatal编程技术网

Node.js 如何等待填充mongoose查询?

Node.js 如何等待填充mongoose查询?,node.js,mongodb,mongoose,async-await,mongoose-populate,Node.js,Mongodb,Mongoose,Async Await,Mongoose Populate,我有一个等待的mongoose查询,它也填充了一些模型。 但这些子项似乎要到稍后才会填充 是否有办法/需要加倍等待子文档? 或者是一种清除查询的方法? 我尝试了各种版本的async/await,也尝试了then,但都没有成功 数据确实显示在客户机中,因此查询最终会在某个地方解析。 但当我需要处理它时,它还没有准备好 let list = await _mongo.find({ type: 'vlog', shelves: true }) .populate('user')

我有一个等待的mongoose查询,它也填充了一些模型。 但这些子项似乎要到稍后才会填充

是否有办法/需要加倍等待子文档? 或者是一种清除查询的方法? 我尝试了各种版本的
async/await
,也尝试了
then
,但都没有成功

数据确实显示在客户机中,因此查询最终会在某个地方解析。 但当我需要处理它时,它还没有准备好

let list = await _mongo.find({ type: 'vlog', shelves: true })
      .populate('user')
      .populate({
        path: 'product',
        model: 'product'
      })
      .sort({ createTime: -1 }).lean().exec()

console.log('list ready', list)
但是,产品和用户测试没有定义。 更奇怪的是,有时记录它们似乎会改变它们

当我使用调试器时,我只看到某种缓冲对象

Logger.log('无产品',文档产品)
///注销产品!
{
_id:ObjectID{
_bsontype:'ObjectID',
身份证件:
},
存储:ObjectID{
_bsontype:'ObjectID',
身份证件:
},
名称:“我的眉笔3号”,
描述:'',
内容:“这款超细眉笔有八种易于选择的色调,画出令人难以置信的自然外观,如头发般的笔划,持续12个小时不动。几笔丰富但可混合的颜色将使眉毛从不成形和未定义的眉毛转变为填充和定义的眉毛。”,
列表就绪[
{
_id:ObjectID{
_bsontype:'ObjectID',
身份证件:
},
用户:{
_id:[对象id],
名称:“estpehaniatjuaca”,
....
标签:[‘化妆’、‘教程’、‘化妆室’、‘化妆自然’],
内容:“化妆自然”,
产品:[[对象]]
}
]
参考文献:

缓冲

您是否可以编辑您的问题并发布每个集合中的一个样本数据。理想情况下,您的代码应该可以工作。数据似乎存在一些问题。您是否可以编辑您的问题并发布每个集合中的一个样本数据。理想情况下,您的代码应该可以工作。数据似乎存在一些问题。
Logger.log('no product', doc.product)

/// logs out the product!
  {
    _id: ObjectID {
      _bsontype: 'ObjectID',
      id: <Buffer 5d c9 8d b7 9b d5 eb 20 8b 44 fa 7e>
    },
    store: ObjectID {
      _bsontype: 'ObjectID',
      id: <Buffer 5d e1 e2 bf 9b d5 eb 20 8b 44 fa 86>
    },
    name: 'Benefit Precisely My Brow Pencil No. 3',
    desc: '',
    content: 'This ultra-fine eyebrow pencil comes in eight easy-to-choose shades and draws incredibly natural-looking, hair-like strokes that last 12 budge-proof hours. A few strokes of the rich yet blendable colour will transform brows from shapeless and undefined to filled and defined eyebrows.',

list ready [
  {
    _id: ObjectID {
      _bsontype: 'ObjectID',
      id: <Buffer 5e fc a7 5d 09 b4 33 5b fd c0 35 8b>
    },
    user: {
      _id: [ObjectID],
      name: 'estpehaniatjuaca',
....
    hashtag: [ 'makeup ', 'tutorial', 'makeuphangout', 'makeupnatural' ],
    content: 'Makeup Hangout Natural',
    product: [ [Object] ]
  }
]