首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MongoDB投影vs For循环

MongoDB投影vs For循环
EN

Stack Overflow用户
提问于 2020-07-23 11:31:58
回答 1查看 55关注 0票数 1

我想访问我的mongo数据库中的一些数据,一些逻辑,并返回某些键的值。例如,假设用户数据如下所示。

代码语言:javascript
运行
复制
[
  {
   "_id": 1,
   "name":"abc",
   "age":"25",
   "sport":"football"
  },
  {
   "_id": 2,
   "name":"def",
   "age":"18",
   "sport":"boxing"
  },
  {
   "_id": 3,
   "name":"ghi",
   "age":"22",
   "sport":"cricket"
  },
 ]

现在我只想返回name和age值。

第一种方法,

代码语言:javascript
运行
复制
const users = await this.User.find({});
let userList = [];

        for (let i = 0; i < users.length; i++)
        {
            let user = users[i];

            let t =
            {
                name : user.name,
                age: user.age
            }

            userList.push(t);
        }   

return userList;

第二种方法,

代码语言:javascript
运行
复制
    const users = await this.User.find({}, {"name":1, "age":1, _id:0, 
    "sport":0});

    return users;

那么,如果我们忽略代码中的行数,哪种实现更好,为什么?

EN

Stack Overflow用户

发布于 2020-07-23 12:01:57

第二种方法更好,因为您可以节省时间和内存。当你使用for循环时,它需要更多的时间。此外,当您在userList中保存用户时,您会复制您的数据。所以它需要更多的时间和内存。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63046441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档