Guest User

Untitled

a guest
Jun 18th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. [{
  2. _id: 1,
  3. usages: 2,
  4. word: "Name"
  5. }, {
  6. _id: 2,
  7. usages: 1,
  8. word: "Street"
  9. }, {
  10. _id: 3,
  11. usages: 1,
  12. word: "House"
  13. }, {
  14. _id: 4,
  15. usages: 3,
  16. word: "Table"
  17. }, {
  18. _id: 5,
  19. usages: 3,
  20. word: "Bread"
  21. }, {
  22. _id: 6,
  23. usages: 4,
  24. word: "Door"
  25. }]
  26.  
  27. Words.aggregate([
  28. {
  29. $match: { _
  30. usages: { WHAT_SHOULD_I_HAVE_HERE }
  31. }
  32. }, {
  33. $sample: {
  34. size: 50
  35. }
  36. }
  37. ])
  38.  
  39. db.collection.aggregate([
  40. { "$facet": {
  41. "minUsages": [{ "$sort": { "usages": -1 } }],
  42. "maxUsages": [{ "$sort": { "usages": 1 } }]
  43. }},
  44. { "$addFields": {
  45. "lowestUsages": {
  46. "$arrayElemAt": ["$minUsages", 0]
  47. },
  48. "highestUsages": {
  49. "$arrayElemAt": ["$maxUsages", 0]
  50. }
  51. }},
  52. { "$project": {
  53. "minUsages": {
  54. "$filter": {
  55. "input": "$minUsages",
  56. "as": "minUsage",
  57. "cond": {
  58. "$eq": ["$$minUsage.usages", "$lowestUsages.usages"]
  59. }
  60. }
  61. },
  62. "maxUsages": {
  63. "$filter": {
  64. "input": "$maxUsages",
  65. "as": "maxUsage",
  66. "cond": {
  67. "$eq": ["$$maxUsage.usages", "$highestUsages.usages"]
  68. }
  69. }
  70. }
  71. }}
  72. ])
  73.  
  74. const minUsage = await db.collection.find({}).sort({ "usages": -1 }).limit(1)
  75. const maxUsage = await db.collection.find({}).sort({ "usages": 1 }).limit(1)
  76.  
  77. const minUsages = await db.collection.find({ "usages": { "$in": [minUsages[0].usages] } })
  78. const maxUsages = await db.collection.find({ "usages": { "$in": [maxUsages[0].usages] } })
Add Comment
Please, Sign In to add comment