First document:
{
"_id" : 1,
"array" : [
{
"userID" : 1,
"name" : "name 1"
},
{
"userID" : 2,
"name" : "name 2"
},
{
"userID" : 3,
"name" : "name 3"
},
{
"userID" : 6,
"name" : "name 6"
}
]
}
Second document:
{
"_id" : 2,
"array" : [
{
"userID" : 1,
"name" : "name 1"
},
{
"userID" : 2,
"name" : "name 2"
},
{
"userID" : 3,
"name" : "name 3"
},
{
"userID" : 4,
"name" : "name 4"
},
{
"userID" : 5,
"name" : "name 5"
}
]
}
is there any way to get output like this:
{
"array" : [
{
"userID" : 1,
"name" : "name 1"
},
{
"userID" : 2,
"name" : "name 2"
},
{
"userID" : 3,
"name" : "name 3"
}
]
}
I want to compare array fields of two documents and retrieve common elements in it. And compare array fields only by common 'userID'. Can we do it by $setIntersection? I need to check only two array fields at a time.
First DocumentandSecoend Documentdo you mean, this are different different Objects right? or part of a SIngle Object?