我正在尝试使用“ NoSQL Manager for MongoDB 4.9.10.2”中的函数print打印数组的第一个元素。我正在尝试执行以下操作:
npm install
但是我遇到下一个错误:
var start = ISODate("2018-12-18T03:00:00.000Z");
var end = ISODate("2018-12-19T02:59:59.000Z");
db.moicaTickets.aggregate([
{ $match :
{ asunto:{$exists:true},
asunto: {$ne:null},
tiempos:{$exists:true},
tiempos: {$ne:null},
problemas:{$exists:true},
creado:{$exists:true},
"creado.lastEvent_tc": { $gt: start, $lt: end } }},
{ $project:
{ pFecha: { $dateToString: { format: "%Y-%m-%d", date: "$creado.lastEvent_tc", timezone: "-03:00" } },
asunto: 1,
tiempos: 1,
nroTkt: 1,
losProblemas: { $arrayElemAt: ["$problemas",0]},
primerProblema: "$losProblemas.nombre",
primera: { $arrayElemAt: ["$tiempos",0]}}},
{ $addFields: { "lacola":{ "$toObjectId": "$primera.cola" }}},
{ $lookup:
{
from: "moicaTicketsColas",
localField: "lacola",
foreignField: "_id",
as: "nombreCola"
}}
]).forEach(function(doc){
print(doc.nroTkt+";"+doc.nombreCola.0.arbol+";"+doc.pFecha+";"+doc.asunto.titulo+";"+doc.primerProblema);
})
答案 0 :(得分:1)
我解决了它,查询之外的内容是JavaScript,因此打印数组(在这种情况下,获取第一个元素)的正确方法是:
print(doc.nroTkt+";"+doc.nombreCola[0].arbol+";"+doc.pFecha+";"+doc.asunto.titulo+";"+doc.primerProblema);
谢谢!