gpt4 book ai didi

javascript - 使用 $project 在 MongoDB 聚合查询中包含一个 Javascript 变量

转载 作者:可可西里 更新时间:2023-11-01 09:15:37 26 4
gpt4 key购买 nike

我有一个 javascript 循环,它执行一项特定任务,即遍历 javascript 哈希并在我的集合上调用聚合。

我能够将变量插入到 $match 函数的聚合查询中,但我不能为 $project 函数插入一个变量。

我想匹配哈希键,然后将哈希值与我刚刚匹配的文档中已有的值一起显示。这些哈希值和标签事先不在文档中。

var cmtss = {};

for (var item in cursor['result'])
{
var prov = cursor['result'][item]['prov_group'];
cmtss[cursor['result'][item]['name']] = prov;
}

for (var item in cmtss)
{
var cmts = "$" + cmtss[item];

result = db.modems.aggregate( { $match : { cmts: item } } ,
{ $project : {
ip : "$ip",
model : "$model",
cmts : "$cmts",
prov_group : cmts } } );
printjson(result);
}

如您所见,我包含一个 $match,我希望 cmts 字段与提供的键相匹配。但是对于这些匹配项,我想显示 3 个字段,包括我添加的全新字段,但它的值是来自 cmtss 的哈希值。我尝试在值之前使用和不使用 $ 运算符。它根本没有在结果文档中显示 prov_group。

我需要以某种方式使用 $add 吗?

最佳答案

我想通了。...

{ $project : {
ip : "$ip",
model : "$model",
cmts : "$cmts",
prov_group : { '$substr': [$prov, 0, 5] } } } );

关于javascript - 使用 $project 在 MongoDB 聚合查询中包含一个 Javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18067194/

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