gpt4 book ai didi

mongodb - 在 mongo shell 中加载和运行聚合

转载 作者:IT老高 更新时间:2023-10-28 13:24:59 28 4
gpt4 key购买 nike

我已经编写了一个聚合代码,我想在 mongo shell 中的一个集合上运行。如果我直接将它粘贴到外壳中,我必须逐行执行,这既繁琐又缓慢,尤其是当它不起作用并且我必须重新执行时。因此,我将它放在 .js 文档中并像这样加载它 load("myaggregation.js") 但只有在代码有效时才返回 true 。加载后如何运行聚合?我找不到任何关于此的文档。我必须使用nodejs驱动吗?

最佳答案

将聚合代码放入函数中:

function my_aggregate() { 
return db.foo.aggregate( [ ... ] );
}

并将其存储在您的 .js 文件中。

然后运行 ​​load 来加载它。您还可以使用 --shell 命令行标志在命令行上传递文件名,该标志将在运行任何指定的 .js 文件后启动交互式 shell。

一旦文件运行,您的新函数就可以执行了。只需输入

my_aggregate()

更新你必须使用我没有提到的明确的return。所以在你的情况下,你会想要这样的东西:

function my_aggregate() {
return db.zips.aggregate([{ $match: { state: { $in: [ "CA", "NY" ] } }},{ $group:{ _id : { "state" : "$state","city" : "$city" }, pop : { $sum: "$pop"}}},{ $match: { pop: { $gt: 25000 } }},{$group:{ _id : { "city" : "$city"}, pop : { $avg: "$pop"}}}]);
}

关于mongodb - 在 mongo shell 中加载和运行聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18807699/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com