草庐IT

elixir-mongo

全部标签

mongodb - 不用 mongodump 命令转储和恢复 mongo 数据库

我需要一种方法来为特定的mongo数据库生成快照,并能够在另一台服务器上重新创建该数据库。我熟悉mongodump和mongorestore命令,但是我需要一个人类可读的文件(或者最好将所有内容打印到标准输出)整个数据库,mongodump还没有,这是已知和预期的,herearethedetailswhy.我有两个相关的问题。首先,mongodump是否产生除了集合名称和索引之外的任何其他关键数据(当转储特定数据库时),如果它产生了什么?如果我没记错的话,mongo可能不喜欢不同版本的转储,这也可能是个问题,是这样吗?其次,如果我手动提取集合名称和索引信息,将其存储到我自己的格式的js

python - 带限制的 Mongo 边界框查询

我们正在使用mongo(通过pymongo)在我们的系统中存储点数据库。此数据通过我们的API使用边界框查询($geoWithin)返回。我们希望将返回的结果数限制为从中心排序的200个。我试图找出最好的方法来做到这一点。目前,我们获得所有项目(无限制)。然后,我们计算距离并在python中排序。然而,对于大型数据集,这些计算非常缓慢且占用大量内存。谁有更好的建议?我在其他SO问题中看到无法对边界框查询进行排序。然而,这些问题中的大多数都是2年以上的问题。 最佳答案 好吧,我想我找到了解决办法。事实证明,您可以在同一个查询中同时使用

mongodb - 在 mongo 服务器级别设置 mongodb 读取首选项

我有一个主实例和一个mongodb的辅助实例。许多客户都在使用我的两个实例。每个客户都有自己对“次要”的阅读偏好我的问题是:有没有办法将mongodb配置为默认将读取首选项设置为“辅助”?谢谢MC 最佳答案 读取首选项是一个客户端设置,而不是服务器设置,所以不,据我所知这是不可能的。MongoDB的一个重要特性是您可以对查询进行非常细粒度的控制,即您可以为每个查询使用不同的读取首选项和写入关注点。将它们混合使用通常是有意义的,因为丢失日志条目可能不会太糟糕,而丢失付款则不然。同样,从辅助读取日志可能没问题,但如果您想协调事务,使用主

mongodb - 无法连接到 Mongo 数据库

我将AWS与EC2和EBS结合使用。该系统确实工作并添加了一个已安装的EBS驱动器。然后我将驱动器映射到/data并添加了/data/db,然后再为新数据文件夹更改mongod.conf。现在mongo不会启动。当我从ubuntu命令行输入mongo时,我得到以下信息。2015-04-14T10:49:21.292+0000WNETWORKFailedtoconnectto127.0.0.1:27017,reason:errno:111Connectionrefused2015-04-14T10:49:21.294+0000EQUERYError:couldn'tconnecttose

mongodb - Mongo - 匹配对象键可变的地方

我有一个包含以下对象的Mongo数据库:[{"link":"xxxxx.jpg""_id":ObjectId("5501b1648ef0b4eccc41814e"),"processed":{"320":true,"480":true,"540":true,"720":true,"800":true,"1080":true,"original":false,"iPhone":true}}]我正在尝试查询任何处理过的值是假的,但我似乎无法弄清楚如何查询我不知道哪个键匹配的地方。如果不遍历所有文档,这可能吗? 最佳答案 在MongoDB

mongodb - mongo-在投影期间转换一个字段的字段值以创建日期时间

我正在使用mongodbagregate框架,这就是我的普通对象的样子{"_id":"6b109972c9bd9d16a09b70b96686f691bfe2f9b6","history":[{"dtEntry":1428929906,"type":"I","refname":"ref1"},{"dtEntry":1429082064,"type":"U","refname":"ref1"}],"c":"SomeVal","p":"anotherVal"}这里的history.dtEntry是一个纪元值(请不要建议我在进入这里之前将其更改为isodate,这超出了我的范围)。我想将c、

java - 在 mongo-java 3 中自动获取 DBRef

过去版本的mongo-java驱动程序在DBRef对象上提供了一个.fetch方法。不过3.0好像没有。我仍然可以在表中存储和检索DBRef值,但是在迭代查询结果时没有手动查询该数据,是否还有其他我遗漏的方法?对每个返回结果进行新查询似乎效率低下。 最佳答案 是的,这是低效的。但是你在2.xx.x上做的完全一样。也许它被贬低的原因是,因为它可能暗示正在进行一些优化的事情。但是,如果您检查2.13.1的驱动程序源代码,您会发现它使用.findOne(...)进行查询/***Fetchestheobjectreferencedfromt

c# - 使用 Mongo 驱动程序升级 IBsonSerializer 2

Mongo驱动程序的旧实现导致了这种代码:publicobjectDeserialize(BsonReaderbsonReader,TypenominalType,TypeactualType){if(nominalType==typeof(T)){if(typeof(V)==typeof(string))return_deSerializeFunc(bsonReader.ReadString());elseif(typeof(V)==typeof(int))return_deSerializeFunc(bsonReader.ReadInt32());elseif(typeof(V)=

mongodb - Mongo 集群所需的最少配置服务器数

我正在尝试在MongoDB集群中测试分片。我正在关注MongoDBdocumentation.他们建议使用3个配置服务器。我可以设置包含1台或2台服务器的集群吗?或者我需要3个或更多配置服务器? 最佳答案 来自MongoDB文档:配置服务器进程是存储集群元数据的mongod实例。您可以使用--configsvr选项将mongod指定为配置服务器。每个配置服务器都存储集群元数据的完整副本。因此对于测试设置1个配置服务器应该没问题,但对于生产,建议使用复制的3个配置服务器。 关于mongod

javascript - Pymongo .eval() 与 Mongo shell --eval

在pymongo中使用.eval()的这个命令等效于什么?mongolocalhost/mydb--quiet--eval"printjson(db.getCollectionNames())"因为这似乎不起作用并且什么都不返回:frompymongoimportMongoClientclient=MongoClient("mongodb://localhost")db=client.mydbmyjs="printjson(db.getCollectionNames())"printdb.eval(myjs)是的,我了解db.collection_names()的工作原理,我特别需要了