草庐IT

mongodb-cluster

全部标签

mongodb - 配置 Mongo shell 以默认将所有数字存储为整数

默认情况下,MongoDBshell将所有数字解释为float;当尝试将现有的JSON格式数据(在Mongo中存储为字符串)转换为实际的MongoBSON对象时,这是一个问题。使用NumberInt(...)/NumberLong(...)显式和手动包装数据中的任何整数值也很乏味,因为整数可以出现在任何地方数据。有没有办法将一个MongoDBshellsession配置为默认使用NumberInt或NumberLong?或者:有没有一种方法可以将JSON字符串解析为MongoDBshell中的对象,以便所有没有小数点的数字都已经用NumberInt/NumberLong?

mongodb - 获取日期范围内的数组元素

这是我的MongoDB集合中的示例文档:varuser:[{"_id":ObjectId("5391b11a3c0a9ac01300006d"),"injurydata":{"injuryinformation":[{"status":"current","updateddate":ISODate("2014-06-06T12:16:20.306Z"),"updatedby":"","dateofinjury":ISODate("2014-06-27T18:30:00.000Z"),"_id":ObjectId("5391b11a3c0a9ac01300006f")}]}},{"_id

mongodb - 定期回收磁盘空间,无需停机

我们有一个副本集,其中包含1个主节点、1个辅助节点和1个仲裁节点。我们经常删除集合,所以我正在寻找一种快速的方法来回收已删除集合所使用的磁盘空间而无需停机,当前数据库大小接近3TB。我一直在研究执行此操作的各种方法,两种常见方法是:repairDatabase():需要与已用空间大小相等的可用空间才能运行,它将使主服务器离线,然后在辅助服务器上启动初始同步,这是一个非常漫长的过程,在此期间仅一个节点在修复数据库期间只能从辅助数据库读取,并在初始同步期间可读/写。在新节点上运行初始同步,然后声明为主节点并淘汰旧节点。对二级重复该过程。使用此选项,主要和次要都可用,但过程非常漫长,需要将近

c# - 从 MongoDB 中的数组中删除元素

我是学习如何使用MongoDB的新手,很早就被困住了,所以希望有人能通过一个简单的例子帮助我。我可以成功连接到Mongo服务器并创建一个集合并创建要放入其中的对象。我正在通过C#和C#驱动程序完成所有这些工作。我的代码中定义了以下自定义对象。publicclassFeature{publicstringFeatureName{get;set;}publicObjectIdId{get;set;}publicListScenarios{get;set;}}publicclassScenario{privatestring_notes;publicstringScenarioName{ge

mongodb - 如何在 MongoDB 中查找并插入子文档数组列表?

我想在子文档的数组中插入一个值,当值不存在时,我有一个这样的集合{"_id":ObjectId("53993f67ccbc960c7d05b74f"),"groups":[{"groupName":"Default","groupMembers":[]},{"groupMembers":[],"groupName":"Family"},{"groupName":"Friends","groupMembers":["jack"]}],"userName":"krishna",}现在我想在Friends组中找到一个值,如果该值不存在,则应该插入它。 最佳答案

javascript - MongoDB 外壳 : Query BinData by Type

我正在尝试通过使用BinData的_id字段查询大型集合。其中一些ID使用类型4的BinData:"_id":BinData(4,"CNDF66qIlCY92q1vFAAAAQ==")虽然有些使用类型3的BinData:"_id":BinData(3,"CNDF66qJ29g92q1vFAAAEw==")我需要找到BinData.type=3的所有_id字段,并且想知道是否有人在MongoDBshell中幸运地进行了这样的查询。如有任何帮助,我们将不胜感激! 最佳答案 您可以使用$where样式查询来执行此操作,因为BinData对

mongodb - "sync source prob lem: 10278 dbclient error communicating with server"

问题MONGODBv2.4.8三节点副本集。来自mgo2报告的“replSetGetStatus”:mgo2PRIMARYsyncsourceproblem:10278dbclienterrorcommunicatingmgo4mgo3SECONDARY(blank)mgo4SECONDARY(blank)来自mgo3报告的replSetGetStatus:mgo2PRIMARY(blank)mgo3SECONDARYsyncingto:mgo2mgo4SECONDARYsyncingto:mgo2来自mgo4报告的replSetGetStatus:mgo2PRIMARY(blank)

MongoDB 和大数字文档 ID

Mongodb使用BSON格式在磁盘上存储数据。BSON定义了不同的数据类型,包括用于存储大整数的signedint64。让我们尝试保存具有大ID(887190505588098573)的文档,它适合signedint64范围(其绝对值小于2^63)>db.query.insert({_id:887190505588098573,'q':'zzz'})>db.query.find({_id:887190505588098573}){"_id":887190505588098600,"q":"zzz"}好吧,我们收到的响应中的文档ID与我们请求的ID不同。我错过了什么?

php - 如何在 cloudControl 上使用 Symfony2 和 MongoDB?

我想在cloudControl(PaaS提供商,如heroku)容器上使用Symfony2和MongoDB。现在Symfony2supportstheusageofMongoDB:#app/config/config.ymldoctrine_mongodb:connections:default:server:mongodb://localhost:27017options:{}default_database:test_databasedocument_managers:default:auto_mapping:true由于MongoDB是一个PaaS插件,我没有静态连接凭证。它们由

mongodb - 数据量大的MongoDB数据库加索引有什么影响?

我有一个包含数百万条推文的MongoDB数据库,看来要提高查询性能,我需要添加一个或多个额外的复合索引。将进入复合索引的字段上已经有单独的索引。在我开始添加这些索引之前,我想知道会产生什么影响,包括短期(添加初始索引是否需要几天时间?)和长期(是否会使插入速度足够慢)它超过了加快查询的好处?)这不是生产数据库-没有副本,没有分片。它运行在一个低端的linux机器上,它运行不多,如果有的话。正如我所说,数以百万计的推文。相关字段是userid和tweeted_at(日期)。机器上没有足够的可用空间,我没有任何地方可以放置我的数据库的副本,因此在副本上尝试它并不是很有帮助。我不期待确切的答