草庐IT

Database_Cleaner

全部标签

database - 使用 mongodb 时是否需要规范化数据库?

我正在制作一个Web应用程序并为我的数据库使用mongodb。但我是mongodb的新手,我只想知道我是否还需要像其他人在使用RDBMS时那样规范化我的数据库。在创建表或数据库之前,它是规范化的。 最佳答案 在MongoDB中,像使用关系数据库一样规范化数据通常不是一个好主意。关系数据库中的规范化只有在表之间的JOIN相对便宜的前提下才可行。$lookup聚合运算符提供了一些有限的JOIN功能,但它不适用于分片集合。因此,应用程序通常需要通过多个后续数据库查询来模拟连接,这非常慢(有关详细信息,请参阅问题MongoDBandJOIN

javascript - ReactJS + Redux : Why isn't MongoDB saving data to the database even with correct API requests?

我在我的ReactJS+Redux项目中设置了MongoDB/Webpack/NodeJSExpress。我正在从redux中的操作创建者进行API调用,并到达API服务器并返回成功状态,但数据永远不会被保存,并且即使在终端mongo->dbs中检查也永远不会创建数据库并且它没有显示我将其命名为的practicedb数据库。可能是什么问题?我错过了什么吗?任何指导或见解将不胜感激。谢谢这是我为API设置的:importaxiosfrom'axios';import{browserHistory}from'react-router';importcookiefrom'react-cook

database-design - 在 MongoDB 中建模投票系统的最佳方法

我正在尝试在MongoDB中为投票系统建模。你可以把它想象成一个类似于reddit的投票系统。要求:投票与对象相关检查用户是否对某个对象进行了投票非常快。应用程序需要知道登录用户是否对某个对象进行了投票,同时它会循环显示呈现投票按钮的对象列表。最重要的是,它必须能够以合理的性能检索在给定时间段(最后一小时、一天、一个月等)内按总分数排序的对象。每个对象应该能够支持数千票。我在这里看到了两种方法(如果我错了,请纠正我!):在每个对象中嵌入一组投票文档。我可能会存储投票用户的ObjectId、投票数量和投票时间。voterId将是投票数组中每个嵌入式投票文档的键,以允许快速查找哈希。保留一

database-design - 使用 MongoDB 的类似 Twitter 的应用程序

我正在制作一个使用经典“关注”机制的应用程序(Twitter和网络上的许多其他应用程序都使用这种机制)。我正在使用MongoDB。不过,我的系统有一点不同:用户可以关注组个用户。这意味着,如果您关注一个群组,您将自动关注属于该群组的所有用户。当然,用户可以属于多个组。这是我想出的:当用户A关注用户B时,用户B的id被添加到用户A文档中的嵌入数组(称为following)为了取消关注,我从following数组中删除了被关注用户的id组的工作方式相同:当用户A关注groupX时,groupX的id被添加到following大批。(我实际上添加了一个DBRef以便我知道连接是针对用户还是组

ruby-on-rails - rails : storing encrypted data in database

我想加密数据库,因为正在存储secret数据。我将mongodb与mongoid一起使用。这种数据库可能吗?如果不是,您可以推荐哪些替代方案?附:主要目的是:如果有人入侵服务器并窃取数据库,它将无法加密。更新:感谢nickh,我发现很多soultionsforActiveRecord,但对于Mongoid和其他Mongo客户来说没有任何意义。很高兴能为Mongo和Mongoid找到一些灵魂! 最佳答案 我已经使用Mongo和Mongoid获得了attr_encrypted。只需稍作调整。确保所有由attr_encrypted自动创建

ruby-on-rails - 在 Rails 3.2 中使用 Mongoid 时删除 database.yml

我刚刚开始了一个新的Rails项目,想通过Mongoidgem使用MongoidDB。按照Mongoid网站上的说明,我在Gemfile中添加了以下几行:gem"mongoid","~>2.4"gem"bson_ext","~>1.5"然后我按照说明here继续删除我的database.yml文件.我的application.rb文件现在看起来像这样:require"action_controller/railtie"require"action_mailer/railtie"require"active_resource/railtie"require"rails/test_unit

database-design - MongoDB 存储大量指标/分析数据的方法

我们正计划使用MongoDB来存储大量分析数据,例如查看次数和点击次数。我不确定在MongoDB中构建文档以帮助查询和减小数据库大小的最佳方式。我们需要根据页面名称、客户端和操作类型来记录操作。理想情况下,我们需要下降到年/月/日/小时级别的统计数据,我们不需要或关心每秒或每分钟的浏览量。虽然这个文档结构看起来不错,但我知道100个访问者会生成100个新文档。{"_id":ObjectId("4dabdef81a34961506040000"),"pagename":"Hello","action":"view","client":"client-name","time":Date("

database-design - 用于博客的 mongodb 架构设计

您将如何为具有基于文档的数据库(mongodb)的类似博客的网站设计架构。该站点具有以下对象:用户、文章、评论。用户可以在文章中添加评论。每个用户也可以对每个评论进行一次投票。我希望能够高效地进行这些查询:1.获得文章A、文章A的评论和每条评论的票数2.获取用户B对所有文章的所有评论3.获取用户B投票给的所有评论我的第一次尝试是将文章和评论放在单独的集合中,评论可以包含投票给它的用户列表。这使得查询1和2变得简单。对于3,我添加了Vote集合,用于跟踪用户的投票。存在一些明显的缺点,例如复制用户投票数据,并且查询1需要两次调用数据库。有更好的方法吗?Article{"user_id"}

shell - mongo shell 脚本不允许我包含 "use <database>"

WindowsXP机器上的32位mongo2.0.1//scriptfilename:test.js(onelineshellscriptfiletostoreaperson)db.cTest.save({Name:"Fred",Age:21});通过输入以下2个shell命令对数据库dbTest运行:>usedbTestswitchedtodbTest>load("test.js")到目前为止,一切都很好。但如果我尝试在脚本中包含“use”语句,它会失败://scriptfilename:test.js(including"use"statement)usedbTest;db.cTe

c++ - 编译随机失败 : "cannot open program database"

在使用VisualStudio2005(版本8.0.50727.762)进行长时间编译期间,有时在某些项目的几个文件中会出现以下错误:fatalerrorC1033:cannotopenprogramdatabase'v:\temp\apprtctest\win32\release\vc80.pdb'(提到的文件是项目临时目录中的vc80.pdb或vc80.idb。)同一项目的下一次构建成功。没有其他可以访问相同文件的VisualStudio打开。这是一个严重的问题,因为它使夜间编译变得不可能。 最佳答案 可能是防病毒软件或类似程序