https://www.w3resource.com/mongodb/mongodb-logical-and-not-operators.php
filter date in array then link table group the id and push element in object
db.listing_links.aggregate([
{
$project: {
"views": {
$filter: {
input: '$views',
as: 'item',
cond: { $and: [{ $gt: ['$$item.viewed_on', ISODate("2019-09-22T00:39:31.280+05:30")] }, { $lte: ['$$item.viewed_on', ISODate("2019-09-25T00:39:31.280+05:30")] }] }
}
},
"listing_id": "$listing_id",
"creator_id": "$creator_id",
"listing_owner_id": "$listing_owner_id",
"last_accessed": "$last_accessed"
}
},
{
$lookup: {
from: "users",
localField: "creator_id",
foreignField: "_id",
'as': "user_types"
}
},
{
$group: {
_id: "$creator_id",
filteredData: {
$push: {"user_types":"$user_types","views":"$views"}
},
}
}
])db.listing_links.aggregate([
{
$project: {
"views": {
$filter: {
input: '$views',
as: 'item',
cond: { $and: [{ $gt: ['$$item.viewed_on', ISODate("2019-09-22T00:39:31.280+05:30")] }, { $lte: ['$$item.viewed_on', ISODate("2019-09-25T00:39:31.280+05:30")] }] }
}
},
"listing_id": "$listing_id",
"creator_id": "$creator_id",
"listing_owner_id": "$listing_owner_id",
"last_accessed": "$last_accessed"
}
},
{
$lookup: {
from: "users",
localField: "creator_id",
foreignField: "_id",
'as': "user_types"
}
},
{
$group: {
_id: "$creator_id",
filteredData: {
$push: {"user_types":"$user_types","views":"$views"}
},
}
}
])
filter date in array then link table group the id and push element in object
db.listing_links.aggregate([
{
$project: {
"views": {
$filter: {
input: '$views',
as: 'item',
cond: { $and: [{ $gt: ['$$item.viewed_on', ISODate("2019-09-22T00:39:31.280+05:30")] }, { $lte: ['$$item.viewed_on', ISODate("2019-09-25T00:39:31.280+05:30")] }] }
}
},
"listing_id": "$listing_id",
"creator_id": "$creator_id",
"listing_owner_id": "$listing_owner_id",
"last_accessed": "$last_accessed"
}
},
{
$lookup: {
from: "users",
localField: "creator_id",
foreignField: "_id",
'as': "user_types"
}
},
{
$group: {
_id: "$creator_id",
filteredData: {
$push: {"user_types":"$user_types","views":"$views"}
},
}
}
])db.listing_links.aggregate([
{
$project: {
"views": {
$filter: {
input: '$views',
as: 'item',
cond: { $and: [{ $gt: ['$$item.viewed_on', ISODate("2019-09-22T00:39:31.280+05:30")] }, { $lte: ['$$item.viewed_on', ISODate("2019-09-25T00:39:31.280+05:30")] }] }
}
},
"listing_id": "$listing_id",
"creator_id": "$creator_id",
"listing_owner_id": "$listing_owner_id",
"last_accessed": "$last_accessed"
}
},
{
$lookup: {
from: "users",
localField: "creator_id",
foreignField: "_id",
'as': "user_types"
}
},
{
$group: {
_id: "$creator_id",
filteredData: {
$push: {"user_types":"$user_types","views":"$views"}
},
}
}
])
No comments:
Post a Comment