Sunday, 22 September 2019

mongodb query

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"}
            },
        }
    }
])

No comments:

Post a Comment