Advertisement
ArcheontPB

MongoProject

Jan 17th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.02 KB | None | 0 0
  1. # config
  2.  
  3. //cmd1
  4.  
  5. mongod --configsvr --port 27020 --dbpath C:\Users\wbazela\Desktop\Mongodb_p\config --replSet confSet
  6.  
  7. //cmd2
  8.  
  9. mongo --port 27020
  10.  
  11. rs.initiate({_id:"confSet", configsvr:true, members:[{_id:0, host:"127.0.0.1:27020"}]})
  12. use ourProjectBase
  13.  
  14. # shard 1
  15.  
  16. //cmd3
  17.  
  18. mongod --shardsvr --replSet shard1Set --dbpath C:\Users\wbazela\Desktop\Mongodb_p\sh11 --port 27021
  19.  
  20. //cmd4
  21.  
  22. mongod --port 27022 --dbpath C:\Users\wbazela\Desktop\Mongodb_p\sh12 --replSet shard1Set
  23.  
  24. # shard 2
  25.  
  26. //cmd5
  27.  
  28. mongod --shardsvr --replSet shard2Set --dbpath C:\Users\wbazela\Desktop\Mongodb_p\sh21 --port 27023
  29.  
  30. //cmd6
  31.  
  32. mongod --port 27024 --dbpath C:\Users\wbazela\Desktop\Mongodb_p\sh22 --replSet shard2Set
  33.  
  34. # sharding
  35.  
  36. //cmd7
  37.  
  38. mongo --port 27021
  39. rs.initiate({_id:"shard1Set", members:[{_id:0, host:"127.0.0.1:27021"}]})
  40. rs.add("127.0.0.1:27022")
  41. use ourProjectBase
  42.  
  43. //cmd8
  44.  
  45. mongo --port 27023
  46. rs.initiate({_id:"shard2Set", members:[{_id:0, host:"127.0.0.1:27023"}]})
  47. rs.add("127.0.0.1:27024")
  48. use ourProjectBase
  49.  
  50. # finale
  51.  
  52. //cmd9
  53.  
  54. mongos --configdb confSet/127.0.0.1:27020
  55.  
  56. //cmd10
  57.  
  58. mongo
  59.  
  60. sh.addShard("shard1Set/127.0.0.1:27021")
  61. sh.addShard("shard2Set/127.0.0.1:27023")
  62. sh.enableSharding("ourProjectBase")
  63. use ourProjectBase
  64.  
  65. sh.shardCollection("ourProjectBase.Students",{album_nr:"hashed"})
  66.  
  67. db.Students.insertMany([
  68. {
  69. 'album_nr': 110120,
  70. 'year_of_study': 3,
  71. 'year_in_dormitories': 2,
  72. 'major': 'Data Engineering',
  73. 'lives_in': 'DS6',
  74. 'function': {
  75. 'function_name': 'gym_master',
  76. 'dorm_id': 'DS6',
  77. 'points_granted': 13
  78. }
  79. },
  80. {
  81. 'album_nr': 110130,
  82. 'year_of_study': 5,
  83. 'year_in_dormitories': 1,
  84. 'major': 'Data Science',
  85. 'lives_in': 'DS6',
  86. 'function': {
  87. 'function_name': 'laundry_room_keeper',
  88. 'dorm_id': 'DS6',
  89. 'points_granted': 7
  90. }
  91. },
  92. {
  93. 'album_nr': 110140,
  94. 'year_of_study': 1,
  95. 'year_in_dormitories': 1,
  96. 'major': 'Chemistry',
  97. 'lives_in': 'DS7',
  98. }
  99. ])
  100. db.Dormitories.insertMany([
  101. {
  102. 'dorm_id': 'DS6',
  103. 'address': 'Gdansk ul. Pana Golaszewskiego 15',
  104. 'rooms': [
  105. {
  106. 'room_id': 100,
  107. 'room_capacity': 2
  108. },
  109. {
  110. 'room_id': 101,
  111. 'room_capacity': 3
  112. },
  113. {
  114. 'room_id': 102,
  115. 'room_capacity': 2
  116. },
  117. {
  118. 'room_id': 200,
  119. 'room_capacity': 2
  120. },
  121. {
  122. 'room_id': 201,
  123. 'room_capacity': 3
  124. },
  125. {
  126. 'room_id': 202,
  127. 'room_capacity': 3
  128. }
  129. ]
  130.  
  131. },
  132.  
  133. {
  134. 'dorm_id': 'DS7',
  135. 'address': 'Gdansk ul. Pana Golaszewskiego 14',
  136. 'rooms': [
  137. {
  138. 'room_id': 100,
  139. 'room_capacity': 3
  140. },
  141. {
  142. 'room_id': 101,
  143. 'room_capacity': 2
  144. },
  145. {
  146. 'room_id': 102,
  147. 'room_capacity': 4
  148. }
  149. ]
  150. }
  151. ])
  152.  
  153. 1.
  154.  
  155. db.Dormitories.aggregate([
  156. { '$unwind': '$rooms' },
  157. { '$match': {} },
  158. { '$group': { '_id': "$dorm_id", 'how_many_people_can_live': { '$sum': "$rooms.room_capacity" } } }
  159. ])
  160.  
  161. 2.
  162.  
  163. db.Students.find({$or:[{'major': /.*Data.*/}, {'major': /.*data.*/}]})
  164.  
  165. 3.
  166.  
  167. db.Students.aggregate([
  168. {
  169. $lookup:
  170. {
  171. from: "Dormitories",
  172. localField: "lives_in",
  173. foreignField: "dorm_id",
  174. as: "Dorm_info"
  175. }
  176. },
  177. { '$unwind': '$Dorm_info' },
  178. {'$project': {'Dorm_info.address':1, 'Students.album_nr':1}}
  179. ])
  180.  
  181. 4.
  182.  
  183. db.Students.find({$and:[{'year_in_dormitories': {$gt: 1}}, {'year_of_study': {$gt: 1}}]})
  184.  
  185. 5.
  186.  
  187. db.Students.find({$or:[{function:null},{function:{$size:0}}]})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement