仅使用Mongo和Golang返回查找的文档

仅使用Mongo和Golang返回查找的文档,第1张

仅使用Mongo和Golang返回查找的文档

您可以使用

$unwind
event
数组字段“转换”
为单个嵌入式文档,然后
$replaceRoot
将该
event
字段“提升”
为新的“根”:

pipe := session.DB(shared.DatabaseNamespace).C(dao.collection).Pipe([]bson.M{    {        "$match": bson.M{ "is_published": true,    // Boost is active "start_date":   bson.M{"$lt": now}, // now is between start and end "end_date":     bson.M{"$gt": now}, // now is between start and end        },    },    {        "$lookup": bson.M{ "from":         "events", "localField":   "_event_id", "foreignField": "_id", "as":"event",        },    },    {"$unwind": "$event"},    {"$replaceRoot": bson.M{ "newRoot": "$event" }},})

如果给定存在多个事件,则此解决方案将正确处理

EventBoost



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5013070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存