我编写了一个特定的查询,它从文档的用户数组中获取FirstName, 该查询成功运行并显示在MongoPlayround网站上,但当我try 用JavaScript运行代码并try 打印到控制台时,它给我的结果为空或没有输出

 let dataset= await collection.find({
            "users.0.firstName": "Terry"
          },
          {
            _id: 0,
            "firstName": {
              $map: {
                input: "$users",
                in: "$$this.firstName"
              }
            }
          }).toArray();
          
          if(dataset&dataset.firstName)
          {
            for(let i=0;i<50;i++)
            {
                console.log(dataset.firstName[i])
            }
          }

try 删除Toarry()方法,try 不使用循环,但仍未得到任何结果

MongoPlayground data

enter image description here

推荐答案

try 将您的代码更改为:

let dataset = await collection
    .find(
        {
            'users.0.firstName': 'Terry',
        },
        {
            projection: {
                _id: 0,
                firstName: {
                    $map: {
                        input: '$users',
                        in: '$$this.firstName',
                    },
                },
            },
        }
    )
    .toArray();

if (dataset && dataset.length > 0) {
    const firstNames = dataset[0].firstName;
    for (const name of firstNames) {
        console.log(name);
    }
}

Javascript相关问答推荐

主要内部的ExtJS多个子应用程序

是什么原因导致此Angular 16电影应用程序中因类型错误而不存在属性?

React:未调用useState变量在调试器的事件处理程序中不可用

如何修复循环HTML元素附加函数中的问题?

通过使用100%间隔时间来代表我们还剩多少时间来倒计时

防止用户在selectizeInput中取消 Select 选项

为什么当我解析一个promise时,输出处于挂起状态?

如何从隐藏/显示中删除其中一个点击?

如何根据当前打开的BottomTab Screeb动态加载React组件?

如果Arrow函数返回函数,而不是为useEffect返回NULL,则会出现错误

从另一个数组中的对应行/键值对更新数组中的键值对对象

在画布中调整边上反弹框的大小失败

向数组中的对象添加键而不改变原始变量

如何用javascript更改元素的宽度和高度?

JavaScript将字符串数字转换为整数

如何在FiRestore中的事务中使用getCountFromServer

如何在Highlihte.js代码区旁边添加行号?

使用Perl Selify::Remote::Driver执行Java脚本时出错

将以前缓存的 Select 器与querySelector()一起使用

如何让noWrap在嵌套在Alert/AlertTitle组件中的排版组件中工作?