gpt4 book ai didi

mongodb - 获取数组中的第一个嵌入文档

转载 作者:可可西里 更新时间:2023-11-01 10:37:45 25 4
gpt4 key购买 nike

我试图获取文档数组的第一个元素。如您所见,“primera”字段在结果中为空:

{
"_id" : ObjectId("5bb164d71d2eef353d292cab"),
"asunto" : {
"id" : "5b48bb7251b997b3cc23b9e4",
"abreviatura" : "AF",
"titulo" : "Alarma Fuente",
"descripcion" : "Alarma generada por un evento de energía en la fuente."
},
"tiempos" : [
{
"cola" : "5b55f8a351b9979f1e417b43",
"inicio" : 1538352343,
"fin" : 1538353214,
"total" : 871,
"usuario" : {
"id" : 0,
"usuario" : "MOICA"
}
}
],
"pFecha" : "2018-09-30",
"primera" : [ ]

我的查询是:

var start = ISODate("2018-10-01T00:00:00.000Z");
var end = ISODate("2018-10-01T23:59:59.000Z");

db.moicaTickets.aggregate([

{ $match : { asunto:{$exists:true}, asunto: {$ne:null},tiempos:{$exists:true}, tiempos: {$ne:null},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, primera: "$tiempos.0"}}

]).pretty()

谢谢!

最佳答案

您可以使用 $arrayElemAt从数组中获取任何索引元素

db.collection.aggregate([
{ "$project": {
"pFecha": {
"$dateToString": {
"format": "%Y-%m-%d",
"date": "$creado.lastEvent_tc",
"timezone": "-03:00"
}
},
"asunto": 1,
"tiempos": 1,
"primera": { "$arrayElemAt": ["$tiempos",0]}
}}
])

关于mongodb - 获取数组中的第一个嵌入文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53748074/

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