Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将MongoDB游标的结果返回Actix以供显示?

如何将MongoDB游标的结果返回Actix以供显示?
EN

Stack Overflow用户
提问于 2022-02-24 12:26:18
回答 1查看 368关注 0票数 0

我使用Actix-Web4.0.0.rc3和MongoDB 2.1.0 (异步模式)。我已经通过app_data将db与Actix集成在一起,但我正在努力研究如何显示多文档游标的结果。

目前我正在使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
while let Some(doc) = cursor.try_next().await? {
  // processing doc results, and building a row of data
}

说出结果很容易,但我不知道如何在浏览器中显示这些结果。我一直在寻找一个例子来解释如何做到这一点,但到目前为止还没有找到解决方案。使用手柄很容易从DB中获得一个字段,并显示这些结果,但是未知大小的游标使我感到困惑。我已经很容易地用RoR,或者凤凰/Elixir做了这件事--会很感激你的任何建议(或者只是对一个可能已经存在的例子的轻柔提示)。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-02-24 12:33:20

我有个例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pub async fn get_aggregation_as_json_response(
    db: &Database,
    aggr_pipeline: Vec<Document>,
) -> HttpResponse {
    let mut cursor = db
        .collection_with_type::<ExampleModel>("examplemodel")
        .aggregate(aggr_pipeline, None)
        .await
        .expect("Error performing aggregation on examplemodel  collection.");

    let mut results: Vec<Document> = Vec::new();

    while let Some(result) = cursor.next().await {
        match result {
            Ok(document) => {
                results.push(document);
            }
            Err(_) => {
                return HttpResponse::InternalServerError().finish();
            }
        }
    }

    HttpResponse::Ok().json(results)
}

这就是你要找的吗?

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

https://stackoverflow.com/questions/71257857

复制
相关文章
Python 如何移除旧的版本特性,如何迎接新的特性?
2020 年 4 月 20 日,Python 2 的最后一个版本 2.7.18 发布了,这意味着 Python 2 是真正的 EOL(end of life)了,一个时代终于落幕了。
Python猫
2020/04/26
8420
EasyNVR新内核版本如何更改录像存储的位置?
大家知道我们前段时间一直在做EasyDSS新内核版本的测试,继EasyDSS后,EasyNVR也有了新内核版本,接下来的事件我们将会对EasyNVR进行一些常规测试,统计与旧版本用法不同的地方会告知大家。本文我们就先分享一下新版本的EasyNVR如何进行更改录像存储的位置。
EasyNVR
2021/07/29
2.6K0
EasyNVR新内核版本如何更改录像存储的位置?
EasyNVR新内核版本如何更改录像存储的位置?
大家知道我们前段时间一直在做EasyDSS新内核版本的测试,继EasyDSS后,EasyNVR也有了新内核版本,接下来的事件我们将会对EasyNVR进行一些常规测试,统计与旧版本用法不同的地方会告知大家。本文我们就先分享一下新版本的EasyNVR如何进行更改录像存储的位置。
TSINGSEE青犀视频
2021/07/28
2.1K0
FatFs检测并建立多层目录并更改文件名
FatFs检测文件路径是否存在,不存在就建立多层目录,最后更改文件名 if(W_Dresult==FR_OK) { wifi_dp_wav_file_status=0; start_downloading=0; /*************************************遍历创建文件夹*************************************************************/ u8 opendir_err = 0; /
小锋学长生活大爆炸
2020/08/13
1.8K0
git比较两个版本之间的区别
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113106.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
1.3K0
python比较两个文件的差异
使用python脚本比较两个文件的差异内容并输出到html文档中,可以通过浏览器打开查看。
py3study
2020/01/07
4.6K0
.NET 下最快比较两个文件内容是否相同
为了选出最优的解决方案,我搭建了一个简单的命令行工程,准备了两个大小为912MB的文件,并且这两个文件内容完全相同.在本文的最后,你可以看到该工程的Main方法的代码.
郑子铭
2023/08/30
3480
.NET 下最快比较两个文件内容是否相同
如何查找SAP的旧TCODE对应新的TCODE
SAP随着新版本的发布,我们知道sap已经更新了很多的程序和TCODE。sap提供了很多新的TCODE来替换旧的TCODE,新TCODE有很多的新特性和新功能。在这个这种情况下,很多旧TCODE就会被废弃。我们如何查找这个替换呢?
matinal
2020/11/27
4390
如何查找SAP的旧TCODE对应新的TCODE
新内核版EasyNVR如何更改录像文件的存储位置?
TSINGSEE青犀视频在去年对旗下的视频平台EasyGBS、EasyNVR、EasyCVR等,均更换为了新的流媒体内核,新内核版的视频平台性能更加稳定、流畅、灵活。新内核版EasyNVR平台有默认的录像存储位置(EasyNVR/mediaserver/data/hls),同时我们的平台也支持用户根据需求,将录像文件存储在其他指定的磁盘。
TSINGSEE青犀视频
2022/04/06
2K0
[Linux] 使用awk比较两个文件的内容
当需要比较A , B两个文件 , A文件中存在 , 并且把也在B文件中存在的行去除掉 , 可以使用这个awk的用法来
唯一Chat
2019/12/26
2.9K0
【说站】如何检查文件是否有Python的符号链接?
2、使用is_symlink()方法时必须小心。只要命名对象是符号链接,即使链接的目标不存在,它也会返回True。
很酷的站长
2022/11/24
2.7K0
【说站】如何检查文件是否有Python的符号链接?
[PHP] 检测文件是否有病毒的实现逻辑
在用户收到发送过来的文件后 , 要能够检测出这个文件是否是病毒 , 核心的软件是clamav , 可以在linux命令行执行,检测文件或目录里的病毒
唯一Chat
2020/03/27
6420
[PHP] 检测文件是否有病毒的实现逻辑
【SAP技巧】如何查找SAP的旧TCODE对应新的TCODE
SAP随着新版本的发布,我们知道sap已经更新了很多的程序和TCODE。sap提供了很多新的TCODE来替换旧的TCODE,新TCODE有很多的新特性和新功能。在这个这种情况下,很多旧TCODE就会被废弃。我们如何查找这个替换呢?
matinal
2020/11/10
7670
【SAP技巧】如何查找SAP的旧TCODE对应新的TCODE
比较两个vcf文件的多种实现方法
可以看到,新的vcf文件的突变位点数量远大于旧的vcf文件。仔细查看新vcf文件,**发现是没有做基本过滤,比如测序深度大于20等等指标。**所以我就顺便把它过滤一波,代码如下:
生信技能树
2020/07/16
2.9K0
比较两个vcf文件的多种实现方法
js 比较两个日期大小,比较同一天两个时间大小
比较两个日期大小 js 比较两个日期大小有两种方法 方法一: //比较两个日期大小。格式:2018-8-12 12:30 const compareDate = (d1, d2) => { return ((new Date(d1.replace(/\-/g, "\/"))) > (new Date(d2.replace(/\-/g, "\/")))); } 方法二: //比较两个日期大小。格式:2018-8-12 12:30 const compareDate2 = (d1, d2) => { l
solocoder
2022/04/06
5.5K0
python比较两个list的内容是否相同_python爬虫实例
>>> import re,urllib.request >>> from bs4 import BeautifulSoup >>> from lxml import etree >>>
全栈程序员站长
2022/10/03
9570
python比较两个list的内容是否相同_python爬虫实例
如何在 Ubuntu Linux 中更改 DNS 并解决一些网速慢的问题?
在本指南中,我们将教您如何将 Ubuntu 中的 DNS 更改为您想要的任何内容。在某些情况下,更改 DNS 可以大大提高您的Internet连接速度。
网络技术联盟站
2022/06/09
5.2K0
如何在 Ubuntu Linux 中更改 DNS 并解决一些网速慢的问题?
点击加载更多

相似问题

比较两个版本的文件并将更改应用于旧文件

12

比较目录和压缩目录(是否有新的更改)

111

.NET:是否有内置版本的PropertyChangedEventArgs包含旧/新值?

22

比较旧文件和新更新记录的文件,并在旧文件中插入新记录

21

比较旧目录和新目录,并重新压缩已更改的文件

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文