首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

.NET 云原生架构师训练营(模块二 基础巩固 MongoDB 问答系统)--学习笔记

2.5.6 MongoDB -- 问答系统 MongoDB 数据库设计 API 实现概述 MongoDB 数据库设计 设计优化 内嵌(mongo)还是引用(mysql) 数据一致性 范式:将数据分散到不同的集合...;反范式:使用内嵌文档 在范式化的情况下需要在进行多次查询再拼装数据,或者使用 lookup,即跨表查询;反范式化的情况下可以直接查出相关数据 更适合内嵌 更适合引用 子文档较小 子文档较大 数据不会定期改变...、降序排序) 创建问题,回答问题 对问题投票,对答案投票 对问题添加评论,对答案添加评论 对问题进行修改,对答案进行修改 我投过票的问题,我投过票的答案 我浏览过的问题 我回答的问题列表 API 实现概述...创建问题 PATCH /api/question/{id} 修改问题 POST /api/question/{id}/answer 回答问题/添加答案 POST /api/question/{id}/up 向上投票问题.../api/answer/{id}/up 向上投票答案 POST /api/answer/{id}/down 向下投票答案 PATCH /api/answer/{id} 修改答案 POST /api/answer

35111

.NET 云原生架构师训练营(模块二 基础巩固 MongoDB 问答系统)--学习笔记

2.5.6 MongoDB -- 问答系统 MongoDB 数据库设计 API 实现概述 MongoDB 数据库设计 设计优化 内嵌(mongo)还是引用(mysql) 数据一致性 范式:将数据分散到不同的集合...;反范式:使用内嵌文档 在范式化的情况下需要在进行多次查询再拼装数据,或者使用 lookup,即跨表查询;反范式化的情况下可以直接查出相关数据 更适合内嵌 更适合引用 子文档较小 子文档较大 数据不会定期改变...、降序排序) 创建问题,回答问题 对问题投票,对答案投票 对问题添加评论,对答案添加评论 对问题进行修改,对答案进行修改 我投过票的问题,我投过票的答案 我浏览过的问题 我回答的问题列表 API 实现概述...创建问题 PATCH /api/question/{id} 修改问题 POST /api/question/{id}/answer 回答问题/添加答案 POST /api/question/{id}/up 向上投票问题.../api/answer/{id}/up 向上投票答案 POST /api/answer/{id}/down 向下投票答案 PATCH /api/answer/{id} 修改答案 POST /api/answer

36710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用MongoDB存储集合的一些问题

    这两天在工作中被Mongo集合存储给整得头大,当然也是我的认知太浅,所以下面我来分享下我所遇到的这个问题希望有大佬能给出更好的解决方案, 1.需求:   存储一个从前端接收未知数据类型的集合     ...可以看到后台如愿的获取到了请求数据,那么存储到Mongo中是什么呢,我们来看一下 ?      ...可以看到这个集合存储到Mongo中变成了一组我们几乎看不懂的数据结构,那么这到底是怎么回事,下面我解析下我猜想的跟其解决方法。  ...我们可以看到集合中存储的每一个类型是JObject类型,而展开这个类型时发现里面数据结构好像根本无法解析所以导致我们在存储时并没有按照我们所想的那样进行存储,那么该怎么进行解决呢,整了两天整出了一个不算好的解决方案...BsonDocument类型 BsonDocument doc = BsonDocument.Parse(strVal); //3.使用BsonDocument

    1.1K20

    补习系列(16)-springboot mongodb 数据库应用技巧

    二、Spring-Data-Mongo Spring-Data-Mongo 是Spring框架对于MongoDB 数据读写的ORM 封装, 与 大家熟悉的 JPA一样,其在MongoDB-Java-Driver...从下之上,分别是: 数据库层; 驱动层(JDBC/Driver); ORM层(Repository); 三、整合 MongoDB CRUD 接下来的篇幅,主要针对如何在项目中使用框架进行MongoDB...Spring-Data-Mongo 实现了类JPA的接口,通过预定义好的Repository可实现代码方法到数据库操作语句DML的映射。...自定义操作 有时候,Repository的方法映射无法较好的满足一些特定场景,比如高级检索、局部更新、覆盖索引查询等等, 此时可以使用框架提供的 MongoTemplate 工具类来完成这些定制。...我们一方面可以选择直接使用该API,另一方面,则可以更加"优雅"的整合到Repository 接口,如下面的代码: 声明 Custom 接口 public interface BookRepositoryCustom

    1.8K41

    Mongodb只读副本集如何切换到读写模式(下)

    接上一篇文章《Mongodb只读副本集如何切换到读写模式》,大概思想就是如何强制把副本集中仅存secondary节点提升为主,主要是通过standalone方式重启实例来实现,经过与大家交流与沟通,虽然此方式可以实现...,但是以前老节点必须重新初始化,尤其当单节点数据很大时,此方式是缺点明显.最有效方式是通过rs.reconfig()方式来实现.此方式也分为2种: 1、使用rs.reconfig重新配置仅有一个节点的副本集...,如异常节点恢复后,可以手动加入副本集(在oplog窗口内,如果超过恢复窗口,也需要全量出重新初始化) 2、使用rs.reconfig重新配置副本集,将异常节点优先级与投票都设置为0,从而保持副本集成员不变的情况下快速恢复业务...,只是修改成员属性来快速提升从为主,这种方式应该最优雅也是推荐方式的(感谢mongo群里面星哥的讲解.)...【此方式推荐】 欢迎大家提宝贵的建议,我是小徐,非常感谢.

    1.4K20

    MongoDB 3.4 - 复制集、鉴权、主从同步以及读写分离

    # 连接 mongo --port=27017 # 使用admin use admin; # 鉴权 db.auth('dba','yourpassword'); 输入配置,这里的第一个_id需要和配置里面的...); # 查询 db.testCol.find(); 如果有数据,则证明同步成功 实现master自动切换 MongoDB的复制集是有mater自动切换机制的,当集群中的master出现问题的时候,会由剩下的机器进行投票重新选举出...,只做为投票)。...1、启动最后一台mongo服务(192.168.1.249) mongod -f /etc/mongod.conf 2、在主机上配置仲裁角色 # 连接 mongo --port=27017 # 使用admin...注:切换会有延迟,示网络情况而定 SSM应用中配置读写分离 格子这边的应用是用java语言,基于SringMVC + Mybatis + mongoTemplate等框架的,下面说一下在这个框架下,如何配置

    1.2K20

    Quora 的陨落:AI 时代知识社区的困境

    “要成为寿司厨师需要进行怎样的培训?”“武术家是如何打碎混凝土块的?”...各种论坛上的评论者都在哀叹 Quora 质量的下降,《大西洋月刊》最近发文问道:“如果没有愚蠢的问题,你会如何看待 Quora?”...2012 年末,他告诉我,他会登录到 Quora,“那里有一些我亲身经历东西、我知道的人和背景故事,这让我感到兴奋,我就会开始写。”...它可能没有像这些网站那样的知名度,但没关系——每个接触过 Quora 的人都知道它代表着什么。 但即便如此,仍有一些问题困扰着 Quora,并在之后继续恶化。...我想知道,如果有人愿意问的话,那么 Quora 将如何回答“为什么 Quora 会走向衰落”这个问题。

    14710

    6000 多款 App,看我如何搞定她们并将其洗白白~

    「酷安网」上的 6000 余款 App,通过分析,发现了各个类别领域下的佼佼者,这些 App 堪称真正的良心之作,使用它们将会给你带来全新的手机使用体验。...作为一名 App 爱好者,我在酷安上发现了很多不错的 App,越用越感觉自己知道的仅仅是冰山一角,便想扒一扒这个网站上到底有多少好东西,手动一个个去找肯定是不现实了,自然想到最好的方法——用爬虫来解决,...数据抓取 由于酷安手机端 App 设置了反扒措施,使用 Charles 尝试后发现无法抓包, 暂退而求其次,使用 Scrapy 抓取网页端的 App 信息。...接着,看上面两个实操案例,熟悉在 Scrapy 中怎么写爬虫。 最后,找个自己感兴趣的网站作为爬虫项目,遇到不懂的就看教程或者 Google。...这里,我面选择存储到 MongoDB 中,不得不说,相比 MySQL,MongoDB 要方便省事很多。 2.3.5.

    54420

    前Quora工程VP:Hinton没有说到点子上

    如果非要我选择今年印象最深刻的 AI 应用,那么我选择的两个都是关于 NLP 的(而且都来自谷歌)。第一个是 Smart Compose,第二个是 Duplex 对话系统。...不过,谷歌意识到这些,并走在正确的方向上,如将 Keras 集成到 TensorFlow 中、聘用具备开发者背景的管理者 Paige Bailey。不管怎样,我们都从这些很棒的框架中获益良多。...虽然我觉得 RL 研究进展不像前几年那样令人印象深刻(只能想起来 DeepMind 的近期研究 IMPALA),但在仅仅一年的时间里看到所有主流 AI 玩家发布 RL 框架还是非常惊喜的。...在《Learning from the experts: From expert systems to machine-learned diagnosis models》中,我们还展示了如何使用专家系统生成可用于训练...尽管这份研究是高度经验性的,使用的也是已知的方法,但它打开了发现新方法的大门,证明公认的最佳方法实际上并不是最佳的。

    39720

    Quora 精选:现代深度学习方法中,数据重要还是算法重要?

    对于这个问题的理解,能够反映出对理论和实际应用问题把握的深刻,新智元摘选 Quora 精彩问答供你参考。...Xavier Amatriain(Quora 工程副总裁) 对这个问题,我希望你期待的不是一个简单的是或者否的答案。...而 AI 还包括基于逻辑或基于规则的其他方法,这些方法不像 ML 那样需要大量的数据。换句话说,假如我们同意在 ML 中数据并不总是比算法更重要,那么在范围更广的 AI 领域,数据的重要性应该更小。...但是要有效地使用它们,我们需要开发能够有效地“在某个领域”学习的方法,这仍有很长的路要走。 使用相同的旧算法就像盯着那堆厚厚的图表。...Mehmet Ufuk Dalmis(PhD,6年机器学习经验) 我认为答案是肯定的,在这个方向上数据是明显的趋势。 在开始解释之前,我想说明的是,以下的讨论限制在机器学习,而非整个AI领域。

    1.7K90

    AI_News周刊:第一期

    但是我想,无论是谁继而打造出第二个类似ChatGPT的产品,也终是对其的追随与效仿,如何打造出另一种划时代的产品,才是厂家所考虑的,而不是一味的追随热点(但是我相信由于OpenAI的一些限制,国内还是有不少用户没有领略...作者在1月初,就曾对话过ChatGPT,但是我主要是针对一些编程的问题进行沟通,发现其可以直接通过函数名给你续写函数,其实这没有什么因为我一直是一个GitHub Copilot的使用者,在使用Copilot...的期间,便体会过在编程问题上此类AI的强大,但是ChatGPT与Copliot的不同时,GPT可以通过输出的报错告诉你错误大概出现在哪里并如何解决,也可以为您解释一段代码的含义,此外还能帮你优化代码,在我测试的几个基础问题上还是解决的很好...随着周五的公开发布,任何人现在都可以使用 Poe 的应用程序。目前,它仅适用于 iOS 用户,但 Quora 表示该服务将在几个月内登陆其他平台。...Truong 解释说,如果医学成像 AI 模型报告患者的扫描显示肺部实变,医生可以将 X 射线分析与读取健康记录的大型语言模型结合起来,以了解患者是否发烧——帮助临床医生更快地确定肺炎的诊断更具体。

    24420

    如何在Ubuntu 14.04上将解析应用程序迁移到解析服务器

    它可以部署到运行Node.js和MongoDB的一系列环境中。 本指南重点介绍如何将预先存在的Parse应用程序迁移到在Ubuntu 14.04上运行的独立的Parse Server实例。...课程准备 本指南以[如何在Ubuntu 14.04上运行解析服务器为基础。...它需要以下内容: Ubuntu 14.04服务器,配置非root 具有sudo权限的用户,没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。...一旦满意,退出mongo并返回shell: exit 步骤3 - 安装和配置解析服务器和PM2 利用MongoDB中的应用数据,我们可以继续安装Parse Server本身,并与系统的其余部分集成。...使用Let的加密证书对nginx进行保护,并配置为从https://your_domain_name/parse到parse-server实例的代理连接 现在应该可以使用curl来进行测试读取,写入和云代码执行

    91701

    Microservices工具箱- Docker

    Docker允许您在自己的机器上运行不同的软件……但是等等——难道您还不能那样做吗?是的,你可以,但不能像Docker那样方便。...一旦您安装了Docker,您将能够在您的计算机上以非常低的开销运行不同的软件。那么,为什么要等?现在就开始使用Docker吧 ! Getting Docker 那么,你是如何获得Docker的呢?...有企业版本可用,但是这些版本要昂贵得多,并且对于本地开发来说不是必需的。 docker如何帮助您的开发 这是有趣的部分!...但是,我建议您首先阅读文档,了解您可能需要的任何配置。所以运行Mongo很好,但是它还能做什么呢?...您可以使用AWS和Azure也没有任何问题。 实际上,对于生产系统,您可能不希望使用裸Docker容器。对于真正的微服务部署,您可能需要复制并轻松地扩展容器。

    88920

    MongoDB技术从0到1+

    活动已规定了选题框架,我思索了小会儿,觉得从0到1+ 挺切合选题一,即聊聊如何由浅到深地学习MongoDB的核心技术。为什么是1+而不是1呢?...因为我觉得0代表起点、原点,1代表走了一段路程,1+ 则代表在这方向上不断地走下去。毕竟学无止境嘛~ 怎么聊这事呢?...,至于为何用B tree,据我所知: 1.mongo着重于提高point query性能,而非range query,这样不像B+ tree那样每次都得去叶子节点拿数据,平均来看,走更短的路径; 2.优化读多写少的场景...WT API的使用 WT在mongo使用,其实基本的调用就那么几个: 1.创建连接conn wiredtiger_open(home, NULL,"create,cache_size=**, transaction_sync...我为熟悉MongoRocks对事务的支持接触过WT的时间戳一些概念,目前还不能很系统地论述各个时间戳之间是如何运作的。这方面可多多参考[2] ,我不在此讲了。

    67720

    轻松掌握组件启动之MongoDB(下):高可用复制集架构环境搭建

    配置复制集在复制集中,可以通过使用replSetInitiate命令或mongo shell的rs.initiate()方法来进行初始化。...在此过程中,节点需要获得足够多成员的投票支持,才能成为Primary节点,而其他节点则会成为Secondary节点。...authSource=admin&replicaSet=rs0总结本章介绍了MongoDB复制集的配置和使用方法。首先,我们学习了如何初始化和添加节点到复制集,并验证了主节点的写入和从节点的读取功能。...然后,我们了解了如何查询复制集的状态,包括成员的健康状况、同步信息和角色等。最后,我们介绍了如何配置复制集的安全认证,包括创建用户和生成keyFile文件,并演示了使用认证信息连接复制集的方式。...通过本章的学习,你将掌握MongoDB复制集的基本使用和配置方法。我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

    31410

    用python分析了 6000 款 App,竟有这么多佳软神器没用过!

    数据抓取 由于酷安手机端 App 设置了反扒措施,使用 Charles 尝试后发现无法抓包, 暂退而求其次,使用 Scrapy 抓取网页端的 App 信息。...我自己是一名高级python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。...接着,看上面两个实操案例,熟悉在 Scrapy 中怎么写爬虫。 最后,找个自己感兴趣的网站作为爬虫项目,遇到不懂的就看教程或者 Google。...它是我使用时间最久的 App 之一。 4.2.7. 文档写作 我们时常需要在手机上写作、做备忘录,那么自然需要好的文档写作类 App。 「印象笔记」就不用多说了,我觉得最好用的笔记总结类 App。...我自己是一名高级python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。

    1.3K01

    用Python分析完6000 款 App,得出这些结论

    ,这些 App 堪称真正的良心之作,使用它们将会给你带来全新的手机使用体验。...接着,看上面两个实操案例,熟悉在 Scrapy 中怎么写爬虫。 最后,找个自己感兴趣的网站作为爬虫项目,遇到不懂的就看教程或者 Google。...其实,这类 App 不算囧,真正囧的应该是那些 下载量很多、评分却低到不能再低 的 App,给人的感觉是:「我就这么烂爱咋咋地,有本事别用」。 4.1.2....它是我使用时间最久的 App 之一。 ? 4.2.7. 文档写作 我们时常需要在手机上写作、做备忘录,那么自然需要好的文档写作类 App。 ?...「印象笔记」就不用多说了,我觉得最好用的笔记总结类 App。 如果你喜欢使用 Markdown 写作,那么「纯纯写作」这款精巧的 App 应该会很适合你。

    2K22

    数据分析|用Python数据分析 6000 款 App,推荐使用24款App

    「酷安网」上的 6000 余款 App,通过分析,发现了各个类别领域下的佼佼者,这些 App 堪称真正的良心之作,使用它们将会给你带来全新的手机使用体验。...接着,看上面两个实操案例,熟悉在 Scrapy 中怎么写爬虫。 最后,找个自己感兴趣的网站作为爬虫项目,遇到不懂的就看教程或者 Google。...它是我使用时间最久的 App 之一。 ? 4.2.7. 文档写作 我们时常需要在手机上写作、做备忘录,那么自然需要好的文档写作类 App。 ?...「印象笔记」就不用多说了,我觉得最好用的笔记总结类 App。 如果你喜欢使用 Markdown 写作,那么「纯纯写作」这款精巧的 App 应该会很适合你。...推荐阅读: 我花了1599大洋报名上课,用了2天1夜时间打起12分精神听课,熬夜到凌晨2点复盘出来的文章,值得看看!

    1.7K21

    爬虫系列之丁香园论坛的所有回复用户数据(下)

    对于第一张图,红色框图标注出来都就是我们想要爬取的目标用户,除了我标注的,bbs还有其他人的回复,由于上图的楼主回复的太多,图片截不出后面其他回复用户,大家可以根据图一中的url进行检验。...【第一个问题】 那么现在问题来了,是不是我直接爬取那个bbs(如图1)的url,定位到左侧边栏的每一个用户,找到对应的用户名就可以了?...现在是时候轮到bbs发话了,那么问题又来了,如何从bbs中爬取相应的用户名呢?...,相当于此处获得的是最原始的所有回复用户数据,那么如何去重呢?...2.2 用户个人主页 用户个人主页功能在上一节做了详细解释,这一节主要侧重于异常的处理及如何调用bbs代码,将bbs代码与个人主页代码结合使用。

    86730

    我在学习编程中犯的两个最大错误

    错误0:我花了太多时间学习那些我不是特别需要的东西上 有如此多的技术,又有那么多的相互矛盾的观点以至于你很难判断什么是重要的,我根本就不知道如何开始。...在Hacker News、 Quora、 Stack OverFlow上看了一大堆最流行的文章之后,我简直要疯了。...Javascript:使内容变成动态的(比如用户点击链接的时候弹出一个菜单) 3. jQuery: 一个包含容易使用插件的javascript库(如幻灯片效果显示图片) 4....Suneel Chakravorty 错误1:我没有立马开始写代码 我花了太多时间阅读编程书。我不确定我读的那些东西是对我的项目有直接帮助的。...在看了一些教程(比如 Yipit 的开发人员 David Sinsky 分享的文章)之后积极地编写例程。 1. 挑选一些简单的项目,然后编码实现它。例如一个简单的博客,或者一个投票的应用。 2.

    1.1K90
    领券