问题标签 [gmongo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - 连接到远程 MongoDB 副本集,当副本集在本地 IP 地址上相互连接时
我们在本地网络接口(即 192.168.1.x)上设置了一个 mongo 副本集。副本集成员是唯一知道此接口的成员。这些实例也位于可从我们的网络 (10.xxx) 内部寻址的外部接口上。当尝试仅使用 Java 驱动程序[2.10.1](通过gMongo 包装器)连接到“主服务器”时,我们遇到了一个问题,即由于应用程序无法确定其他副本节点而无法建立连接。即使我在服务器列表中提供了所有外部接口,也会发生这种情况。
我还需要能够设置从我的机器到副本集的 SSH 隧道。同样,我遇到了同样的问题,因为副本集提供了不适用于我的主机名和 IP 地址。
当副本仅通过本地 IP 地址相互了解时,如何连接到副本集?
这是代码示例和导致的错误。下面的示例假设已经建立了从 localhost 到远程服务器的隧道。
结果是:
我不确定它为什么要根据服务器的本地配置而不是我提供的服务器列表来解决。
grails - 无法使用 gmongo 在 mongo 中插入文档
我有以下代码可以在 groovy 中插入文档,但我在 grails 应用程序中不断收到此错误
没有方法签名:com.mongodb.DBApiLayer$MyCollection.insert() 适用于参数类型:(java.util.LinkedHashMap) 值:[[city:ACMAR, loc:[-86.51557, 33.584133], ...] ] 可能的解决方案:insert([Lcom.mongodb.DBObject;), insert(java.util.List), insert([Lcom.mongodb.DBObject;, com.mongodb.WriteConcern), insert(com.mongodb.DBObject, com .mongodb.WriteConcern),插入(com.mongodb.WriteConcern,[Lcom.mongodb.DBObject;),插入(java.util.List,com.mongodb.WriteConcern)
此代码取自 gmongo 的示例。任何想法为什么我会出错?
更新
在尝试@dmahapatro 的方法后,我在 Grails 应用程序中收到以下错误:
grails - Aggregations in gmongo 0.9.1
I need to implement some simple aggregations in my app powered by Grails 1.3.7. The mongodb-plugin of 1.0.0.RC3 ships with gmongo 0.9.1, where the aggregate functions are not implemented.
How can I solve the problem? Are there any hooks to call java-mongo API directly, or maybe there's some other plugin releases which allow aggregations?
TIA
grails - GORM / GMongo 是否包装集合以接受地图?(Grails / GMongo 内部结构。)
我正在使用 Grails Mongo 域对象,我注意到通过以下两种访问集合的方式我得到了非常不同的行为:
c1
:集合名称在编译时已知:
def c1 = MyDomainClass.collection
c2
:集合名称仅在运行时已知
def c2 = AnyDomainClass.collection.DB.getCollection(collectionName)
c1
并c2
拥有相同的班级,但行为不同!
两者c1
都有c2
课程com.mongodb.DBApiLayer$MyCollection
,但他们的行为不同。
具体来说,c1
支持“友好”交互,例如将 Maps 直接传递给 GMongo 方法,例如
而c2
仅适用于DBObject
以下参数:
我更喜欢#1 中的语法,并且即使我在编译时不知道集合,我也希望能够将该语法用于对象。换句话说,我希望能够动态访问集合(我可以使用#2),但使用#1 中的“友好”语法。
我的问题是:
- 有
c1
什么c2
不同? - 如何实例化
c1
在编译时集合未知时行为的集合? - 在 Grails/GORM/GMongo 堆栈的哪一层包裹了对象以支持映射到 DBObject 的转换,这是如何完成的?
mongodb - 在 MongoDB 中计算距离不准确
我正在尝试在我的MongoDB数据库上构建一个空间查询(为了使用 geoNear 查找所有结果。
它有效,只是计算的距离根本不准确。所以,这就是我所拥有的:
我有一个索引:
这是我的查询:
结果是:
}
如您所见,计算出的距离(乘以地球半径以便以公里为单位计算)为 1.1119514223177513 公里。
如果我在网站http://www.lexilogos.com/calcul_distances.htm上计算距离,则计算出的距离为 0.7312508492264875 公里。
使用谷歌地图,距离也是 0.7312508492264875 公里。
所以,问题是:我做错了什么?
mongodb - mongodb gmongo runCommand
我正在做一个 grails/mongodb 项目。我想使用以下方法对 mongodb 数据库进行全文研究:
问题是我没有找到如何在 groovy(或使用 gmongo)中做到这一点。
如何从 groovy 执行“runCommand”?
谢谢。
mongodb - Gmongo日期查询
给定一个 mongo 集合(为了说明目的,仅精简到几个字段):
我想查询 requestTime。理想情况下,我想要两个查询,一个用于确切的 requestTime,一个用于一系列 requestTimes(大于或等于某个日期时间,小于或等于某个其他日期时间)。到目前为止,我已经尝试了以下方法,但似乎都没有奏效:
有没有人有什么建议?对此的任何帮助将不胜感激。
我已经取得了一些进展,但还没有完全奏效。我可以检索记录并提取日期并在有效的查询中使用该日期。但是,如果我尝试自己创建日期,它将不起作用:
输出:
mongodb - 我可以在 grails 项目中同时使用 mongdb 插件和 gmongo 吗?
最近,我在一个 grails 项目中工作,并打算使用 mongodb 作为我们的 nosql 数据库,除了 mysql。
我添加了 mongodb 插件,使用域进行测试,它运行良好(显示/编辑/保存...):
并尝试使用 gmongo 插件的另一种方法,这在我想使用 mongodb 低级 API(或例如使用 mapReduce)的情况下很有用
尝试使用简单的查询 find() 进行测试,它也很有效
现在我想结合两种方法,这是错误:
我真的不知道如何解决它!
mongodb - 带有终结器的 gmongo MapReducer
我不知道在使用 gmongo 时如何设置 Finalizer。我的 'reduce' 包含一个我想在 'Finalize' 中使用的数组
Map和Reduce如下图
当我如下调用 mapreduce 时,出现错误 - 查询太大
只有这对我有用,但不知道如何设置 Finalize
mongodb - GMongo 在对象的嵌入式 json 中搜索
我有以下对象:
如何仅通过内容子 json 中的 startDate 和 endDate 字段搜索它?
我试过了:
但我想只有当条目有这些特定日期但没有 evalDate 时才会返回它,对吗?
如何仅根据 startDate 和 endDate 进行查询?
谢谢!