Express / MongoDb 按 ID 查找所有对象并将它们保存到数组中

     2023-03-10     244

关键词:

【中文标题】Express / MongoDb 按 ID 查找所有对象并将它们保存到数组中【英文标题】:Express / MongoDb find all objects by ID and save them to an array 【发布时间】:2019-03-25 23:43:07 【问题描述】:

我的monongodb架构如下所示:

let statSchema = new mongoose.Schema(
        title: String,
        statId: String,
        stats: 
            likeCount: Number,
            commentCount: Number
        
    );

let MyStat = mongoose.model("MyStat", statSchema);

我正在寻找一种可以从数据库中获取所有statId 元素并将它们放入数组中的方法。

稍后我想使用request(npm 请求)遍历该数组,该数组将获取statId 并从 API 请求 JSON,该 API 将为每个对应的 statId 更新所有 stats(likeCount 和 commentCount) .

如果我使用下面的代码:

MyStat.find(, function(err, foundStats)
    if (err) throw err;
    console.log(foundStats);
  );

它将记录我数据库中的所有元素,但我不知道如何仅访问“statId”。

我尝试使用console.log(foundStats.linkId);,但它返回undefined

【问题讨论】:

Mongoose, Select a specific field with find的可能重复 【参考方案1】:

您的 statId 存储为“_id”。所以如果不显式更改或设置 id 字段,对象的 id 字段会在 '_id' 中找到。

在这种情况下,您可以使用

MyStat.find(, '_id', function(err, foundStats)
    if (err) throw err;
    console.log(foundStats);
);

在“foundStats”中,您将找到所有统计信息的 id。

更多信息请查看mongoose、mongoDB

【讨论】:

【参考方案2】:

foundStats 是一个你需要在其中循环的数组。

foundStats.forEach((element) => 
    console.log(element.statId);
);

如果您想返回 statId,请像这样使用它:

 MyStat.find(, 'statId' , function(err, foundStats)
    if (err) throw err;
    console.log(foundStats);
  );

请参阅文档here

【讨论】:

使用 MongoDB/Mongoose 按 ID 查找提交

】使用MongoDB/Mongoose按ID查找提交【英文标题】:LookingupsubmissionsbyIDwithMongoDB/Mongoose【发布时间】:2013-02-1911:09:49【问题描述】:所以我习惯于通过MySQL的自动增量主ID查找提交,但是在使用MongoDBORM包装器Mongoose之后,我发现由于Mon... 查看详情

按 ID 查找在 Nodejs MongoDB 中不起作用 [重复]

】按ID查找在NodejsMongoDB中不起作用[重复]【英文标题】:FindingbyIdisnotworkinginNodejsMongoDB[duplicate]【发布时间】:2019-01-3017:48:27【问题描述】:db.collection(\'test\').find("title":"Ilikecake"/*,projection:_id:true*/).toArray(function(err,results) 查看详情

按 ID 查找在 Nodejs MongoDB 中不起作用 [重复]

】按ID查找在NodejsMongoDB中不起作用[重复]【英文标题】:FindingbyIdisnotworkinginNodejsMongoDB[duplicate]【发布时间】:2019-01-3017:48:27【问题描述】:db.collection(\'test\').find("title":"Ilikecake"/*,projection:_id:true*/).toArray(function(err,results) 查看详情

GORM 在 Grails 中使用 MongoDB 按 ID 获取/查找资源

】GORM在Grails中使用MongoDB按ID获取/查找资源【英文标题】:GORMget/findresourcebyIDusingMongoDBinGrails【发布时间】:2013-06-1206:43:51【问题描述】:Grails可以通过ID轻松get域对象(便于构建RESTAPI)。检索资源的控制器可以很简单:MetricContr... 查看详情

如何按降序从mongodb集合中查找数据? [复制]

】如何按降序从mongodb集合中查找数据?[复制]【英文标题】:howtofinddatafrommongodbcollectionindesendingorder?[duplicate]【发布时间】:2016-04-2204:49:30【问题描述】:假设这是一个mongodb中名为books的集合,数据如下。这里我忽略了_id。请提... 查看详情

如何按降序从mongodb集合中查找数据? [复制]

】如何按降序从mongodb集合中查找数据?[复制]【英文标题】:howtofinddatafrommongodbcollectionindesendingorder?[duplicate]【发布时间】:2016-04-2204:49:30【问题描述】:假设这是一个mongodb中名为books的集合,数据如下。这里我忽略了_id。请提... 查看详情

在 express API 中获取字符串以传递给 mongodb 查找函数

】在expressAPI中获取字符串以传递给mongodb查找函数【英文标题】:FetchstringinexpressAPItopassintomongodbfindfunction【发布时间】:2018-12-1604:54:01【问题描述】:我正在使用expressAPIjs来连接mongoDB。我正在尝试将参数传递给mongodb的find函数,... 查看详情

mongoose:按 id 排序

...ose:Sortingbyid【发布时间】:2014-06-2617:51:47【问题描述】:mongodb在文档更新时重新排序文档。我不希望这种情况发生,所以我发现使用orderby_id会以一致的顺序返回文档。但现在我无法排序。下面是我的查找查询,它查找由特定用... 查看详情

MongoDB 按 ID 分组,然后按日期分组

】MongoDB按ID分组,然后按日期分组【英文标题】:MongoDBgroupbyIDandthenbydate【发布时间】:2019-06-0604:20:20【问题描述】:我的MongoDB数据库中有一个集合,用于存储分组人员的持续时间,它看起来像这样:["_id":"5c378eecd11e570240a9b0ac","s... 查看详情

Mongodb 按今天的日期查找创建的结果

】Mongodb按今天的日期查找创建的结果【英文标题】:Mongodbfindcreatedresultsbydatetoday【发布时间】:2015-06-0208:20:40【问题描述】:我有这个查询来获得一个月的结果。但我想得到今天的结果。varstart=newDate(2010,11,1);varend=newDate(2010,11,30... 查看详情

_id 的 Mongodb 聚合查找不起作用

】_id的Mongodb聚合查找不起作用【英文标题】:Mongodbaggregatelookupby_idisnotworking【发布时间】:2021-04-2118:38:45【问题描述】:当foreignField为_id时,MongoDb聚合查找未产生结果。我有两个集合说users和discussions样本users数据:[_id:5f9c50dcfac... 查看详情

按字段比较 2 个 mongoDb 集合的最佳方法

】按字段比较2个mongoDb集合的最佳方法【英文标题】:Bestwaytocompare2mongoDbcollectionsbyfield【发布时间】:2018-07-2400:32:27【问题描述】:我试图找出匹配MongoDb集合以在两者中查找不存在的文档的最佳方法。想象一下,我们拥有包含应... 查看详情

如何编写代码以通过关键字在 MongoDB 中查找项目?

】如何编写代码以通过关键字在MongoDB中查找项目?【英文标题】:HowtowritethecodetofinditemsinMongoDBbykeywords?【发布时间】:2021-09-2908:40:24【问题描述】:我可以使用以下查询按id查找项目:DATABASE=Nonedefinitialize():client=pymongo.MongoClient("... 查看详情

在 Spring Boot Mongodb 中使用聚合框架按计数查找组

】在SpringBootMongodb中使用聚合框架按计数查找组【英文标题】:InSpringbootMongodbfindgroupbycountbyusingAggregationframework【发布时间】:2019-02-0115:05:14【问题描述】:您好,我尝试在SpringBoot中使用mongodb执行restapi,以通过计数输入数据的... 查看详情

使用 Express 将新项目添加到 MongoDB 数据库的开头

】使用Express将新项目添加到MongoDB数据库的开头【英文标题】:AddingnewitemtothestartofMongoDBdatabasewithExpress【发布时间】:2021-04-0500:10:30【问题描述】:我有一个存储项目列表的mongoDB数据库:["_id":"0","a":"b","_id":"1","a":"c"]要通过POST请... 查看详情

通过数组对象值mongodb查找对象[重复]

】通过数组对象值mongodb查找对象[重复]【英文标题】:findaobjectviaarrayobjectvaluemongodb[duplicate]【发布时间】:2021-05-2910:26:33【问题描述】:所以我有一个收藏:_id:1,array:[id:1,something:"anything"],_id:2,array:[id:2,something:"anything"]我想找到... 查看详情

MongoDB - 如何通过 Id 查找文档并找到与 ID 数组匹配的文档

】MongoDB-如何通过Id查找文档并找到与ID数组匹配的文档【英文标题】:MongoDB-HowtofindadocbyIdandfindthedocsthatmatcheswithanarrayofids【发布时间】:2019-07-1614:59:26【问题描述】:我有以下问题,我的收藏中有许多遵循此结构的文档"_id":Object... 查看详情

如何在 Mongodb、Express、NodeJs 中更新数组内的多个字段?

】如何在Mongodb、Express、NodeJs中更新数组内的多个字段?【英文标题】:HowtoUpdateMultipleFieldsInsideanArrayinMongodb,Express,NodeJs?【发布时间】:2020-09-2409:58:12【问题描述】:如何通过数组中的ID更新多个对象?我想通过用户的ID更新体验... 查看详情