基于ObjectID的Mongodb聚合中的查询问题
嗨,我面临着mongodb聚合的问题,我是mongodb新手 如何在mongoDB中根据对象Id获取此数据的结果 >我的输入是这样的:基于ObjectID的Mongodb聚合中的查询问题,mongodb,mongoose,mongodb-query,aggregation-framework,Mongodb,Mongoose,Mongodb Query,Aggregation Framework,嗨,我面临着mongodb聚合的问题,我是mongodb新手 如何在mongoDB中根据对象Id获取此数据的结果 >我的输入是这样的: { "_id" : { "latitude" : "17.4451028", "longitude" : "78.3866821", "trip_data_id" : ObjectId("5dd637131b5313355ce8bfa1"), "user_name" : "Eswar"
{
"_id" : {
"latitude" : "17.4451028",
"longitude" : "78.3866821",
"trip_data_id" : ObjectId("5dd637131b5313355ce8bfa1"),
"user_name" : "Eswar"
}
},
{
"_id" : {
"latitude" : "17.4450606",
"longitude" : "78.3865973",
"trip_data_id" : ObjectId("5dd637131b5313355ce8bfa1"),
"user_name" : "Eswar"
}
}
{
"_id" : {
"latitude" : "17.4451156",
"longitude" : "78.3867887",
"trip_data_id" : ObjectId("5dd637131b5313355ce8bfa1"),
"user_name" : "Eswar"
}
},
{
"_id" : {
"latitude" : "17.4451125",
"longitude" : "78.3866802",
"trip_data_id" : ObjectId("5dd637131b5313355ce8bfa1"),
"user_name" : "Eswar"
}
},
{
"_id" : {
"latitude" : "17.4451187",
"longitude" : "78.3867869",
"trip_data_id" : ObjectId("5dd637131b5313355ce8bfa2"),
"user_name" : "Rajesh"
}
},
{
"_id" : {
"latitude" : "17.4450753",
"longitude" : "78.3866457",
"trip_data_id" : ObjectId("5dd637131b5313355ce8bfa2"),
"user_name" : "Rajesh"
}
},
{
"_id" : {
"latitude" : "17.4451005",
"longitude" : "78.3866823",
"trip_data_id" : ObjectId("5dd637131b5313355ce8bfa3"),
"user_name" : "Mahesh"
}
},
{
"_id" : {
"latitude" : "17.4451287",
"longitude" : "78.386776",
"trip_data_id" : ObjectId("5dd637131b5313355ce8bfa3"),
"user_name" : "Mahesh"
}
},
{
"_id" : {
"latitude" : "17.4451171",
"longitude" : "78.3867479",
"trip_data_id" : ObjectId("5dd637131b5313355ce8bfa4"),
"user_name" : "Venky"
}
},
{
"_id" : {
"latitude" : "17.4450556",
"longitude" : "78.3866078",
"trip_data_id" : ObjectId("5dd637131b5313355ce8bfa4"),
"user_name" : "Venky"
}
}
但我想要基于匹配对象ID的响应,如下所示:
你能帮助我,如何为这个基于输入的ob建立一个查询吗
mongodb中匹配的对象Id,我希望上面显示的响应
结果
试试这个:
db.collection.aggregate([
{
$match: {
// match only relevant documents.
}
},
{
$group: {
_id: "$user_name",
coordinates: {$push: {longitude: "$longitude", latitude: "$latitude"}}
}
},
{
$replaceRoot: {
newRoot: {$arrayToObject: [[{k: "$_id", v: "$coordinates"}]]}
}
}
])
试试这个:
db.collection.aggregate([
{
$match: {
// match only relevant documents.
}
},
{
$group: {
_id: "$user_name",
coordinates: {$push: {longitude: "$longitude", latitude: "$latitude"}}
}
},
{
$replaceRoot: {
newRoot: {$arrayToObject: [[{k: "$_id", v: "$coordinates"}]]}
}
}
])
到目前为止你试过什么?到目前为止你试过什么?