草庐IT

elixir-mongo

全部标签

node.js - 使用 node.js 检索用于 mongo 查询的副本实例

我使用officialnode.jsmongodbclient用于通过类似于以下的连接字符串执行针对集群的Mongo查询:mongodb://euwest1-01,euwest1-02,uswest2-01/dbname?replicaSet=mycluster&readPreference=nearest。如您所见,我在集群中包含了一些不同地理位置的实例,“最近”应该保证选择正确的副本。不过,我想知道哪个用于执行任何查询,以便我可以将用于执行查询的mongo副本包含到我的每个操作日志中。围绕Cursor进行黑客攻击对象,我可以用一种hacky的方式得到我想要的:constfind=(

python - Mongo引擎查询引用字段

我已经定义了类声明:frommongoengineimport*classTickDataDocument(Document):""""""instrument_id=StringField(max_length=10,unique=True,required=True)tick_data=ReferenceField(TickDocument)classTickDocument(Document):""""""price=DecimalField(precision=2,required=True)volume=LongField(required=True)turnover=Dec

javascript - 验证来自 Mongo 的 JSON?

我想检查用户输入的文本是否是有效的JSON。我知道我可以使用以下方法轻松做到这一点:functionIsJsonString(str){try{JSON.parse(str);}catch(e){returnfalse;}returntrue;}我的问题是来自Mongo的JSON,它包含在ObjectId、ISODate中,即:{"_id":ObjectId("5733b42c66beadec3cbcb9a4"),"date":ISODate("2016-05-11T22:37:32.341Z"),"name":"KJ"}这不是有效的JSON。在允许上述内容的同时如何验证JSON?

mongodb - docker-compose 使用用户名和密码创建 mongo 容器

我在Compose中创建了一个mongo容器:version:'2'volumes:mongodata:driver:localservices:mongo:image:mongo:latesthostname:${MONGODB_HOST}restart:alwaysports:-"27017:27017"volumes:-mongodata:/data/db这很好用,但是现在我想在数据库上输入密码。为此,首先据我了解,我需要创建数据库,添加密码,然后使用--auth标志重新启动它。我的问题是如何使用docker-compose来完成这个过程。如果我在没有docker-compose

mongodb - Mongo 复合索引,在查询中使用 less-than-all

我了解,对于MongoDB,对于使用复合索引的查询,它必须使用索引中的所有键,或者至少使用从左侧开始的一些键。例如db.products.find({"a":"foo","b":"bar"})很乐意使用由{a,b,c}组成的索引。但是,如果我想查询:db.products.find({"a":"foo","c":"thing"})我相信这不能使用索引。这可以通过在“b”上添加一个简单的条件来解决,例如db.products.find({"a":"foo","b":{$ne:""},"c":"thing"})即使我实际上并不关心b的值。原因是我们目前有4500万个对象,而且还会继续增长,

sql-server - 将 mongo 集合导出到 SQL Server 的最佳实践

我们使用MongoDB(在Linux上)作为我们的主数据库。但是,我们需要定期(例如每晚)将一些集合从Mongo导出到MSSQL服务器以运行分析。我正在考虑以下方法:使用mongodump备份Mongo数据库(可能来自副本)将数据库恢复到安装了Mongo的Windows机器中编写一个定制的应用程序,将集合从Mongo导入SQL(可能处理任何所需的规范化)。在WindowsSQLServer安装上运行分析。还有其他“经过验证的”替代方案吗?谢谢,斯蒂法诺编辑:对于第4点,分析将在SQLServer上运行,而不是Mongo。 最佳答案

node.js - 处理从 nodejs 与 mongo db 的连接丢失

当nodejs和mongodb服务器之间的连接丢失时,我正在尝试“连接丢失”或类似的东西。我使用native驱动程序并具有以下代码varmongo=require('mongodb');varserver=newmongo.Server('host','port',{auto_reconnect:true,socketOptions:{keepAlive:10,connectTimeoutMS:1000,socketTimeoutMS:0}});vardb=newmongo.Db('dbname',server,{w:1,wtimeout:1000,numberOfRetries:10

mongodb - Angular 1.2.0 : Error: "Referencing private fields in Angular expressions is disallowed" when attempting to access Mongo _id fields

尝试从Angular表达式中读取mongo_id字段时:{{person._id}}{{person.name}}{{person.location}}{{person.active}}抛出以下错误:"ReferencingprivatefieldsinAngularexpressionsisdisallowed"插件链接:http://plnkr.co/edit/dgHNP2rVGPwAltXWklL5编辑:此更改已在Angular1.2.1中恢复:https://github.com/angular/angular.js/commit/4ab16aaaf762e9038803da1

mongodb - 如何在 mongo shell 中对输出进行分页

是否可以将结果从mongoshell中通过管道传输到寻呼机?mysqlcli等效项是:mysql>pagerless 最佳答案 您可以尝试使用mongo--eval选项。比如:mongo--quiet--eval''|less 关于mongodb-如何在mongoshell中对输出进行分页,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/23179415/

arrays - 如何在mongo shell查询中仅投影嵌套数组的匹配字段

我对mongodb还很陌生,我有一个很简单的问题:我有一个嵌套模式,其中我有一个字段是一个数组,其中该数组的每个项目都是一个对象,它本身具有一个数组字段。例如:>db.mytest.insert({name:'a',top:[{x:1,y:2,nest:[{p:1,q:2},{p:2,q:3}]},{x:2,y:3,nest:[{p:4,q:5},{p:6,q:7}]}]})我可以很好地查询p的某些值,甚至可以将我的结果限制为top的第一个匹配元素:>db.mytest.findOne({'top.nest':{$elemMatch:{p:6}}},{'top.nest.$':1}){