我的文档有一个包含多个对象的数组,我需要找到相关的值并将它们推入同一个数组中。
CART
(购物车){
"_id" : ObjectId("5b2b72119fbb60750e0061b9"),
"cartId" : "1529573905701",
"supplierId" : ObjectId("5b221d1b63eda2902418434d"),
"user_id" : "5b20c54651e68057b3cbe745",
"createdAt" : ISODate("2018-06-21T09:38:25.680Z"),
"services" : [
{
"date" : "21-06-2018",
"timeSlot_id" : ObjectId("5b29e08cb116c31f5b1f56c6"),
"time" : "03:30 PM - 04:30 PM",
"serviceId" : ObjectId("5b24aff4abf2494701bc1c15"),
"cost" : 250,
"_id" : ObjectId("5b2b72119fbb60750e0061ba")
},
{
"_id" : ObjectId("5b2b72329fbb60750e0061bb"),
"cost" : 250,
"serviceId" : ObjectId("5b24aff4abf2494701bc1c15"),
"time" : "03:30 PM - 04:30 PM",
"timeSlot_id" : ObjectId("5b29e08cb116c31f5b1f56c6"),
"date" : "21-06-2018"
}
],
"__v" : 0
}
服务
{
"_id" : ObjectId("5b24aff4abf2494701bc1c15"),
"isActivated" : true,
"supplierServiceId" : 900146649,
"serviceId" : 99473640,
"serviceName" : "AC Reparing",
"description" : "all type of AC, Split AC and Window AC",
"cost" : 250,
"serviceDuration" : "60",
"startTime" : "07:00 AM",
"endTime" : "08:30 PM",
"supplierId" : "5b221d1b63eda2902418434d",
"createdAt" : ISODate("2018-06-16T06:36:36.091Z"),
"__v" : 0
}
TIMESLOTS
{
"_id" : ObjectId("5b29e08cb116c31f5b1f56c6"),
"displayString" : "03:30 PM - 04:30 PM",
"isActivated" : true,
"startTime" : "15:30 PM",
"endTime" : "16:30 PM",
"duration" : "60",
"createdAt" : ISODate("2018-06-20T05:05:16.405Z"),
"__v" : 0
}
在CART服务内部,有两个值serviceId和timeSlot_id
*我需要从相关集合中获取两者的数据。在同一对象内。
Mongo版本 -v3.6.5
请帮忙解决。谢谢提前。
$unwind
的preserveNullAndEmptyArrays
。请参考 https://docs.mongodb.com/manual/reference/operator/aggregation/unwind/#includearrayindex-and-preservenullandemptyarrays. - Ashh