I have a collection test which have following values from which i have to get document based on "value" field which i can easily get from below given query.
db.getCollection('test').find({"value" : 100})
but the real problem is that i have list of "value" fields such as [100,104,200152,.......] this list can be really long and i want my result in below given format in order to reduce number of mongo query as this is taking too much time, if list containing "values" is too large then i have to preform multiple mongo queries to fetch all the records.
{100:[
/* 1 */
{
"_id" : "C1",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 2 */
{
"_id" : "C2",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 3 */
{
"_id" : "C3",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 4 */
{
"_id" : "C4",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 5 */
{
"_id" : "CO",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 6 */
{
"_id" : "DD",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 7 */
{
"_id" : "EX",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}],
104:
[{
"_id" : "AU",
"value" : 104,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}],
200152:
[
{
"_id" : "GenFile",
"value" : 200152,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
]
DB
/* 1 */
{
"_id" : "AU",
"value" : 104,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 2 */
{
"_id" : "C1",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 3 */
{
"_id" : "C2",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 4 */
{
"_id" : "C3",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 5 */
{
"_id" : "C4",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 6 */
{
"_id" : "CO",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 7 */
{
"_id" : "DD",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 8 */
{
"_id" : "EX",
"value" : 100,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 9 */
{
"_id" : "GS_SEG",
"value" : 124755350,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}
/* 10 */
{
"_id" : "GenFile",
"value" : 200152,
"lastUpdatedTime" : ISODate("2019-11-04T00:00:00.000Z"),
"timetaken" : 3.0
}