如何解决使用MongoDB取消键和值的event_params
在Google大查询中,您可以执行嵌套(键和值)event_params,我从Big-Query获取所有Google事件并将其插入MongoDB
如何从MongoDB中选择event_params.key =“ firebase_screen_class”具有值。string_value=“ ForceUpdateVC”
我不需要获取任何event_params.value.string_value =“ ForceUpdateVC”,如果event_params.key =“ firebase_screen_class”,我仅需要此值
请帮助
[
{
"_id" : ObjectId("5fa979330af533408048d646"),"event_name" : "screen_view","event_params" : [
{
"key" : "ga_session_id","value" : {
"string_value" : null,"int_value" : 1604843171,"float_value" : null,"double_value" : null
}
},{
"key" : "firebase_prevIoUs_class","value" : {
"string_value" : "TrendsScreen","int_value" : null,{
"key" : "firebase_screen_class","value" : {
"string_value" : "ForceUpdateVC",{
"key" : "firebase_screen_id","int_value" : NumberLong(4208934242551216926),{
"key" : "firebase_prevIoUs_id","int_value" : NumberLong(4208934242551216925),{
"key" : "firebase_event_origin","value" : {
"string_value" : "auto",{
"key" : "ga_session_number","int_value" : 49,"double_value" : null
}
}
],"updated_at" : ISODate("2020-11-09T17:15:31.021Z"),"created_at" : ISODate("2020-11-09T17:15:31.021Z")
},.
.
.
]
解决方法
您需要在event_params数组上使用$ elemMatch函数。它与javascript中array.prototype中的some()函数相同。 您的查询将如下所示: db.collection.find({“ event_params”:{“ $ elemMatch”:{“ key”:“ firebase_screen_class”}}}))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。