Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [{
- _id: 1,
- usages: 2,
- word: "Name"
- }, {
- _id: 2,
- usages: 1,
- word: "Street"
- }, {
- _id: 3,
- usages: 1,
- word: "House"
- }, {
- _id: 4,
- usages: 3,
- word: "Table"
- }, {
- _id: 5,
- usages: 3,
- word: "Bread"
- }, {
- _id: 6,
- usages: 4,
- word: "Door"
- }]
- Words.aggregate([
- {
- $match: { _
- usages: { WHAT_SHOULD_I_HAVE_HERE }
- }
- }, {
- $sample: {
- size: 50
- }
- }
- ])
- db.collection.aggregate([
- { "$facet": {
- "minUsages": [{ "$sort": { "usages": -1 } }],
- "maxUsages": [{ "$sort": { "usages": 1 } }]
- }},
- { "$addFields": {
- "lowestUsages": {
- "$arrayElemAt": ["$minUsages", 0]
- },
- "highestUsages": {
- "$arrayElemAt": ["$maxUsages", 0]
- }
- }},
- { "$project": {
- "minUsages": {
- "$filter": {
- "input": "$minUsages",
- "as": "minUsage",
- "cond": {
- "$eq": ["$$minUsage.usages", "$lowestUsages.usages"]
- }
- }
- },
- "maxUsages": {
- "$filter": {
- "input": "$maxUsages",
- "as": "maxUsage",
- "cond": {
- "$eq": ["$$maxUsage.usages", "$highestUsages.usages"]
- }
- }
- }
- }}
- ])
- const minUsage = await db.collection.find({}).sort({ "usages": -1 }).limit(1)
- const maxUsage = await db.collection.find({}).sort({ "usages": 1 }).limit(1)
- const minUsages = await db.collection.find({ "usages": { "$in": [minUsages[0].usages] } })
- const maxUsages = await db.collection.find({ "usages": { "$in": [maxUsages[0].usages] } })
Add Comment
Please, Sign In to add comment