草庐IT

mongodb-cluster

全部标签

java - Spring MongoDB 查询正则表达式

我正在尝试使用spring查询MongoDB,但我无法让我的正则表达式工作。我在mongodb中有一棵树作为MongoDB文档(http://www.mongodb.org/display/DOCS/Trees+in+MongoDB)中的物化路径。在shell中查询db.categories.find({path:/^\w+,$/})可以很好地找到第一个逗号之前的路径。例如:{"path":"a,"}被返回但不是我想要的{"path:"a,b,"}。如何在Spring进行相同的查询?我试过:newQuery(Criteria.where("path").regex("/^\\w+,$/

c# - 反序列化嵌套和非结构化 BsonDocument(mongodb c# 驱动程序)

假设这是2个Bson文档的集合{"_id":"...","name":"Test1","sub":{"street":"134FakeStreet","city":"NoWhere"}},{"_id":"...","name":"Test2","sub":{"height":"10","width":"20","sub2":{"type":"something"}}}其中第一层是结构化类,但子层可以是完全非结构化的,并且可以有多个层深的进一步嵌套文档。如何将此文档反序列化为C#类?我见过的所有示例都假定嵌套文档中存在某种结构。下面的类报错:publicclassReport{[Bson

mongodb - 如何使用 MongoDB 或其他文档数据库保存视频文件,可选择添加到现有二进制文件和并行读/写

我在视频服务器上工作,我想使用数据库来保存视频文件。由于我只需要存储带有元数据的简单视频文件,因此我尝试通过其GridFS在Java中使用MongoDB。存储视频文件及其元数据的机制。但是,有两个主要功能是我需要的,但我无法使用MongoDB来管理:我希望能够添加到以前保存的视频中,因为保存视频可能会分块执行。我不想删除我目前拥有的二进制文件,只需在项目末尾附加字节即可。我希望能够在正在编写的视频项中读取它。“线程A”将更新视频项目,添加越来越多的字节,而“线程B”将从项目中读取,并在写入/刷新后立即接收“线程A”写入的所有字节。我尝试编写简单的代码来做到这一点,但失败了。似乎Mong

mongodb - 如何从处理程序访问全局 MongoDB 连接?

我正在尝试使用Snap制作一个简单的网络应用程序。我想要一个可以跨处理程序使用的全局MongoDB连接。我在appInit中打开了这个连接,它起作用了。dataApp=App{_mongoDB::Pipe--connection}appInit::SnapletInitAppAppappInit=makeSnaplet"site""MySite"Nothing$dodb但是,我不知道如何从处理程序访问此连接(_mongoDB)。我尝试了几件事,包括以下内容,但每次都出现类型错误。watchHandler::HandlerAppApp()watchHandler=dores它给我以下错误

node.js - 通过 Node.js 驱动程序运行任意 MongoDB 脚本

我有一个从命令行运行的复杂MongoDB脚本的组合,如下所示:$mongomydbconfig.jstask.js由于我无法在我的服务器环境中运行shell脚本并且需要安排上述任务,我认为我可以简单地连接上述.js文件然后从Node脚本运行它们。因此,我正在寻找等同于:db.runMyCustomRawCommands(stringcommands)我该怎么做,或者有什么替代解决方案? 最佳答案 引用Node.js原生MongoDB驱动程序的原作者ChristianKvalheim的话:这是不可能的,因为shell是同步的并且具有与

MongoDB 聚合数组

假设我有一个MongoDB集合,其中包含如下文档—{"name":"Hawaiian","toppings":['cheese','ham','pineapple'],}我怎样才能得到所有集合的toppings的列表?我假设我必须使用MapReduce或新的聚合框架(最好是MapReduce,因为我不能使用新的聚合框架),但我不确定该怎么做。谢谢!编辑:还有,有没有办法在数据库级别计算不同浇头的数量? 最佳答案 MongoDB支持DISTINCT聚合。这应该可以解决问题。 关于Mongo

mongodb - NoSQL 文档数据库——除了可伸缩性之外还有什么好的用例?

我确定以前有人问过这个问题,但我花了几天时间阅读互联网,但一直无法弄清楚NoSQL文档数据库(不是键值存储)的用例除了可扩展性。所以这是我的问题,如果可伸缩性不是我关心的问题,在以下任何情况下使用NoSQL文档数据库是否有意义:如果我的模型中超过40%是多态关联如果需要预先加载大约8个模型以使整个对象有意义怎么办?如果应用程序的某些部分正在快速变成EAV怎么办?例如嵌入到应用中的迷你CMS。工具链成熟度如何?各种Rails3gem?测试框架?基本上,要让我的应用更快上市,什么是务实的选择?在数据模式不稳定的情况下,这是一个更大的问题-数据存储还是处理应用程序中的数据?

mongodb - 按两个属性的平均值排序

我需要按两个属性的平均值对查询进行排序,例如Story.scoped.order_by('(importance+points)/2')。正如我在MongoDB上看到的那样和Origindocumentation,这似乎是不可能的。我是否需要使用平均结果创建第三个属性并按它排序?|Story|points|importance|firstexpected|1|1|thirdexpected|5|1|secondexpected|1|3 最佳答案 您可以使用aggregationframework去做这个。我不了解Ruby/mongo

MongoDB 初始部署和索引

我正在用MongoDB做我的第一个项目,据我所知,隐式创建集合是推荐的做法(即db.myCollection.insert()将在第一次插入时创建集合)我正在使用PHP并以这种方式使用不同的集合,但问题是我不知道应该在哪里创建该集合所需的索引。因为我不知道集合何时创建,所以天真的方法是在对该集合执行每个操作之前调用ensureIndex()(这听起来不太好)。或者每当建立与数据库的连接时,确保索引存在(如果我在未创建的集合上创建索引会发生什么情况?是否已定义?)对此有什么最佳实践建议吗? 最佳答案 不确定这是否是最佳做法,但我倾向于

mongodb - 使用 GORM MongoDB 持久化动态 groovy 属性

我目前正在尝试使用Grails的GORMMongoDB插件来持久化以下类:classResult{StringurldefResult(){}staticconstraints={}staticmapWith="mongo"staticmapping={collection"results"database"crawl"}}我正在运行以保留此类的代码如下:classResultIntegrationTests{@BeforevoidsetUp(){}@AftervoidtearDown(){}@TestvoidtestSomething(){Resultr=newResult();r.