如何使用node.js和mongoose处理从mongodb查询中找到的数据

xienkqul  于 2023-01-12  发布在  Go
关注(0)|答案(1)|浏览(155)

我正在尝试处理从查询中找到的数据。但是,由于某种原因,我无法从查询中获得结果。
我可以看到它从查询中找到2条记录,但我不能得到实际的记录。不确定我在这里搞砸了什么

const channelQuery =  Channel.find({ fields: { $all: channelFieldsFieldNames } })

  let fetchedChannels;
  channelQuery
    .then(documents => {
      fetchedChannels = documents;
      return Channel.count();
    })
    .then(count => {
      console.log({
        message: "Channels fetched successfully!",
        channels: fetchedChannels,
        maxChannels: count
      });
    })
    .catch(error => {
      console.log(error)
      res.status(500).json({
        message: "Fetching channels failed!"
      });
    });

这是我在候机楼看到的:

{
  message: 'Channels fetched successfully!',
  channels: [],
  maxChannels: 2
}

这很奇怪,因为我在应用程序的其他地方使用了相同的代码片段,它完美地返回了计数和记录,但这次不是
所以我只想知道如何处理响应中的记录
我发现了一些类似的stackoverflow帖子,但他们没有讨论他们如何处理数据,他们只谈论了查询本身How to query MongoDB with "like"

s8vozzvw

s8vozzvw1#

您正在使用两个不同的查询:
return Channel.count(); =〉在这里您可以计算mongo中的所有通道
而您的搜索const channelQuery = Channel.find({ fields: { $all: channelFieldsFieldNames } })却一无所获

相关问题