草庐IT

mongodb-cluster

全部标签

mongodb - 大小大于 MaxDocumentSize

使用MongoDB的10genC#驱动程序,在生产中每隔一段时间我就会看到这个错误:System.IO.FileFormatException:在C:\work\10gen\mongodb\mongo-csharp-driver\Bson\IO\BsonBinaryReader.cs中,大小大于MongoDB.Bson.IO.BsonBinaryReader.ReadSize()处的MaxDocumentSize:第556行有没有办法使MaxDocumentSize变大以防止出现此错误?我的文档大小不可能接近16MB,我也没有存储任何文件。这是一个示例文档,当我将其保存在记事本中时,它

mongodb - 如何通过 Mongoid 中的动态属性对文档进行排序

我正在使用Mongoid来存储一系列经过地理编码的列表。这些列表需要按价格和距离排序。每个列表的价格是数据库中的一个字段,而距离是一个动态属性,对每个用户都是唯一的。classListingincludeMongoid::Documentfield:pricedefdistanceget_distance(current_user.location,coordinates)endend如何按距离对这些文档进行排序?我尝试了@listing.desc(:distance)但没有成功。 最佳答案 简短(无用)的回答是:你不能。Mongo

mongodb - nosql 是像评论系统这样的多层次论坛的正确工具吗?

我想构建一个类似于Reddit.com的网络应用程序,您可以在其中进行多级别评论、大量读取和写入。我想知道nosql和mongoDB是否特别适用于此? 最佳答案 评论--毫无疑问,这对nosql数据库来说真的很重要。您避免多次连接到自身。这意味着您的系统可以横向扩展!使用mongodb,您可以将所有层次结构存储在一个文档中。有些人会说原子更新会出现问题,但我想这不是问题,因为您可以加载并保存整个评论树。以后您可以通过任何方式轻松重新设计系统以支持原子更新并避免并发问题。 关于mongod

mongodb - 使用scala和lift,如何对mongodb集合中的文档进行高效的过滤操作?

我在mongodb中有一个用户集合,我正在使用lift/scala执行User.findAll操作并检索在特定时间范围内创建的用户数。我正在利用objectId的getTime方法,但是我需要应用一些方法并相乘以获取存储在每个文档中的字符串,将其转换回objectID并将毫秒转换为秒。这是最后一小时创建的用户的代码行:valusers=User.findAll.filter{u:User=>((((ObjectId.massageToObjectId(u._id)).getTime)/1000)我需要找到一种在数据库中执行此操作的方法,而不是将所有数据都放入内存中,然后使用该函数对其进

python - 我如何使用 mongodb 在 Pyramid 中创建单元测试?

我有一个使用mongodb进行存储的Pyramid项目。现在我正在尝试编写测试,但如何指定与mongodb的连接?更具体地说,我应该连接到哪个数据库(测试?)以及如何使用固定装置?在Django中,它创建了一个临时数据库,但它如何在Pyramid中工作? 最佳答案 只需在TestCase.setUp中创建一个数据库并在TestCase.tearDown中删除你需要运行mongodb,因为没有像sqlite3这样的mongolite3forsql我怀疑django是否能够创建一个临时文件来存储mongodb数据库。它可能只是使用sql

mongodb - Map Reduce 标记计数范围按日期和类别

我仍在努力思考mapreduce。我有一组文章,每篇文章属于一个类别,每篇文章都有一组关键词。假设文档看起来像这样:{author:"kris",category:"mongodb",content:"...",keywords:["keyword1","keyword2","keyword3"],created_at:"..."}我想基本上从所有文档中提取关于作者的关键字计数,所以我最终得到如下内容:{author:"kris",categories:{mongodb:{keyword1:5,keyword2:3,keyword3:1},ruby:{...},python:{...}

MongoDB 地理空间查询计数问题(始终为 100)

包含超过100个结果的地理空间查询的计数操作似乎存在问题。如果我运行以下查询,无论如何我仍然得到100的计数。db.locations.find({"loc":{$nearSphere:[50,50]}}).limit(1000).count()我知道使用“near”语法的查询的默认大小限制是100,但看起来您不能返回超过该值的值。我做错了什么或者有解决方法吗? 最佳答案 尝试使用“within”而不是“near”。这对我有用,center=[50,50];radius=1/111.12;//convertittoKM.db.pla

MongoDb 上限子集合

是否可以创建一个有上限的子集合。我正在尝试做类似的事情:user={name:String,latest_messages:[String]}latest_messages上限为10。如果不是,您有什么替代建议?更新1:似乎手动保持数组上限是唯一的解决方案。这是执行此操作的一种方法:joe={name:'Joe',latest_messages:['','','','','','','','','','']}db.users.save(joe)db.users.update({name:'Joe'},{$push:{'latest_messages':'hello'}})db.user

mongodb - 如何在 mongodb 的 spring-data 中映射枚举集合

带有MongoDB的Spring数据1.0.0.M3。spring怎么可以映射这个类:importorg.springframework.data.document.mongodb.index.IndexDirection;importorg.springframework.data.document.mongodb.mapping.Document;@DocumentpublicclassEnumsMapper{privateIndexDirectiond=IndexDirection.ASCENDING;}这个失败了:importorg.springframework.data.d

python - 更改 mongodb 数据库中集合中字段的类型

我的mongodb数据库中集合中字段的类型是unicode字符串。该字段当前在集合中的任何文档中都没有与其关联的任何数据。我不希望类型为字符串,因为我想使用pymongo从我的python代码向它添加子字段。集合中已经有很多记录了。那么,是否可以将集合中所有文档的字段类型更改为python中的字典之类的东西?请帮忙谢谢你 最佳答案 当然,只需创建一个脚本来迭代您当前的集合,读取现有值并用新值覆盖它(在您的案例中是一个嵌入式文档)。您只需为该字段设置一个新值即可更改该字段的类型。例如。将字符串字段设置为整数字段:db.test.upd