我正在将MongoDB查询从Javascript移动到Java。对象格式如下:
{
"record": {
"unknownName1": {
"count": 5,
"domain": "domain1"
}, {
...
}, {
"unknownNameN": {
"count": 3,
"domain": "domainN"
}
}
}
Javascript查询包含以下部分:
[
{
$project: {
record: {
$objectToArray: "$record"
}
}
}, {
$unwind: { "$record"
}, {
$group: {
device: "$record.k"
},
count: {
$sum: "$record.v.count"
},
domain: {
$min: "$record.v.domain"
}
}
]
我已经翻译了上面使用MongoDBJava驱动程序3 api,并具有以下内容:
List<Bson> query = Arrays.asList(
project(include("record")),
unwind("$record"),
group(computed("device", "$record.k"),
sum("count", "$record.v.count"),
min("domain", "$record.v.domain"))
);
我遇到的问题是,我似乎无法使用Mongodb Java驱动程序找到与$objectToArray等价的对象,后续的sum和min操作取决于dot对使用$objectToArray生成的k和v值的操作。
是否有一种等效的方法来将具有未知键名的对象映射到使用MongoDBJava驱动程序(最好是版本3)的$ectivtToArray使用的k和v格式?
下面就可以了。
project(computed("record", eq("$objectToArray", "$record")))
以下查询在mongo shell中完美运行。 我想用java编程实现同样的功能。我尝试了以下方法,但没有得到任何结果。
我的目标是使用聚合框架创建一个管道来对我的数据进行分组,然后将这个管道与java驱动程序一起使用。MongoDB v4.0.3 我使用MongoDB Compass创建了以下管道(减少到重要部分): 这导致以下(生成的)Java代码: 集合中$组阶段之前的数据如下所示: $组阶段应返回以下数据结构: 问题所在 Mongo Compass按预期预览了阶段的结果,但使用java驱动程序的阶段的结果非常
我不能在pyqt应用程序中使用time.sleep,因为这会冻结GUI线程,所以在此期间GUI将完全冻结。我一直在寻找处理这件事的方法。 我试图使用QTimer,但似乎它们需要链接到另一个函数?比如等十秒钟,然后运行一些函数。有没有办法让它等待,然后继续当前的功能?
我正试图使用IntelliJ IDE从Spark连接到老虎机数据库。有人能帮助jdbc驱动程序(。jar)文件吗?我正在寻找“com.tigergraph.jdbc.驱动程序”。 我确实找到了下面的gitHub存储库,其中包含了所有必需的信息。java文件。但是,我不知道如何在我的spark项目中使用它。https://github.com/tigergraph/ecosys/tree/maste
问题内容: 美好的一天, 你们知道GBQ的任何JDBC接口或驱动程序吗? 请只使用Java-Python库已经完成。 预先感谢,祝您有美好的一天,迈克 问题答案: 有一个第三方JDBC驱动程序,可以从以下位置获得: http://code.google.com/p/starschema-bigquery- jdbc/ 它支持与原始Google BigQuery相同的SQL SELECT语法,并且不
的配置在中正确 我还使用cli检查了 null Kubernetes版本(使用):1.7.3 云提供商或硬件配置**:4核16G RAM 操作系统(例如来自/etc/os-release):CentOS Linux 7(核心) 内核(例如):Linux 10-8-108-92 3.10.0-327.22.2.el7.x86_64#1 SMP Thu Jun 23 17:05:11 UTC 2016