Advertisement
amumia

MongoDB Workshop all instructions

Jan 11th, 2013
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.78 KB | None | 0 0
  1. - Basics - Databases: are databases
  2. - Collections: same as table
  3. - Documents: equivalent to rows
  4. - Fields: equivalent to rows (schema-less)
  5. - Indexes: are indexes
  6. - Cursor: what MongoDB returns on data requests
  7.  
  8. - New database:
  9. use <DATABASE_NAME>
  10. use pizza_shack
  11.  
  12. - Insert:
  13. db.<COLLECTION_NAME>.insert(<DOCUMENT_DATA>)
  14. db.client.insert({'name': 'Tânia Soares', 'gender': 'F', 'age': 50, 'score': 1})
  15. db.client.insert({'name': 'José Dias', 'gender': 'M', 'age': 80, 'score': 7, 'pizzas_preferred': [{'name': 'Diavola', 'score': 8}, {'name': 'American', 'score': 5}]})
  16. db.client.insert({'name': 'Maria Lopes', 'gender': 'F', 'age': 40, 'score': 9, 'stats': {'last_pizza_eaten': 'Carbonara', 'when': new Date(2012, 5, 25, 12, 52)}})
  17. db.client.insert({'name': 'Paulo José', 'gender': 'M', 'age': 15, 'score': 10, 'pizzas_preferred': [{'name': 'Carbonara', 'score': 10}, {'name': 'All Seasons', 'score': 6}], 'stats': {'last_pizza_eaten': 'American', 'when': new Date(2012, 10, 15, 1, 35)}})
  18.  
  19. db.client.insert({'name': 'Joana Trindade', 'gender': 'F', 'age': 34, 'score': 10, 'pizzas_preferred': [{'name': 'Diavola', 'score': 6}, {'name': 'Carbonara', 'score': 9}]})
  20. db.client.insert({'name': 'João Silva', 'gender': 'M', 'age': 38, 'score': 5, 'stats': {'last_pizza_eaten': 'Cheese Ham', 'when': new Date(2013, 0, 2, 13, 20)}})
  21. db.client.insert({'name': 'Cristina Moreira', 'gender': 'F', 'age': 70, 'score': 4, 'pizzas_preferred': [{'name': 'Carbonara', 'score': 8}, {'name': 'Cheese Ham', 'score': 5}, {'name': 'American', 'score': 9}]})
  22. db.client.insert({'name': 'Jorge Martins', 'gender': 'M', 'age': 55, 'score': 10, 'pizzas_preferred': [{'name': 'Carbonara', 'score': 10}, {'name': 'Cheese Ham', 'score':8}], 'stats': {'last_pizza_eaten': 'Cheese Ham', 'when': new Date(2011, 5, 30, 20, 23)} })
  23.  
  24.  
  25. - Find:
  26. db.<COLLECTION_NAME>.find(<SELECTOR(WHERE)>)
  27. db.client.find({'stats.last_pizza_eaten': {$exists: true}})
  28. db.client.find({'age': {$gt: 30, $lt: 100}})
  29. db.client.find({'age': {$in: [38, 55]}})
  30. db.client.find({$or: [{'age': {$gt: 40}}, {'score': {$gt: 8}}] })
  31. db.client.find({'gender': {$ne: 'F'}, $or: [{'age': {$gt: 40}}, {'score': {$gt: 8}}] })
  32. db.client.find({'name': /^José/})
  33. db.client.find({'pizzas_preferred.name': {$in: [/diavola/i]}})
  34. db.client.find({'stats.last_pizza_eaten': /carbonara/i})
  35. db.client.find({'_id': ObjectId('<DOCUMENT_ID>')})
  36.  
  37. db.client.find({'name': /José/})
  38. db.client.find({'pizzas_preferred.name': 'Diavola'})
  39. db.client.find({'stats.last_pizza_eaten': /carbonara/i, 'stats.when': {$lte: new Date()}}).sort('stats.when': -1).limit(1)
  40. db.client.find({'age': {$gt: 50}, 'stats.last_pizza_eaten': {$exists: true}})
  41. db.client.find({'score': {$lte: 5}})
  42. db.client.find({'pizzas_preferred': {$exists: true, $ne: []}})
  43. db.client.find({'age': {$in: [80, 70]}})
  44.  
  45.  
  46. Returned fields:
  47. {'name': 1} Return only 'name' field (and _id)
  48. {'name': 1, '_id': 0} Really return only 'name' field (excludes _id)
  49. {'name': 0} Return all fields except 'name'
  50. Cursor:
  51. .count()
  52. .skip(1)
  53. .skip(1).count(true)
  54. .limit(1)
  55. .batchSize(10)
  56.  
  57.  
  58. - Update:
  59. db.<COLLECTION_NAME>.update(<SELECTOR(WHERE)>, <NEW_DOCUMENT_DATA>, <OPTIONS>)
  60. db.client.update({'name': 'José Dias'}, {'age': 85})
  61. db.client.update({'name': {$exists: false}}, {'name': 'José Dias', 'gender': 'M', 'age': 80, 'score': 7, 'pizzas_preferred': [{'name': 'Diavola', 'score': 8}, {'name': 'American', 'score': 5}]}, {'upsert': true})
  62. db.client.update({'name': 'José Dias'}, {$set: {'age': 85}})
  63. db.client.update({'pizzas_preferred': {$exists: true}}, {$inc: {'score': 1}}, {'multi': true})
  64. db.client.update({'pizzas_preferred.score': {$gt: 8}}, {$set: {'prize_winner': true}}, {'multi': true} )
  65. db.client.update({$or: [{'name': 'José Dias'}, {'pizzas_preferred .score': {$gt: 8}}]}, {$set: {'prize_winner': true}}, {'multi': true} )
  66. db.client.update({'_id': ObjectId('<DOCUMENT_ID>')}, {$unset: {'pizzas_preferred': 1}, $inc: {'score': -1}})
  67. db.client.update({'pizzas_preferred.name': 'Diavola' }, {$unset: {'pizzas_preferred.$': 1}}, {'multi': true})
  68. db.client.update({}, {$push: {'pizzas_preferred': {'name': '4 Cheese', 'score': 10}}}, {'multi': true})
  69. db.client.update({'name': 'Paulo José', 'pizzas_preferred.name': 'Carbonara'}, {$set: {'pizzas_preferred.$.score': 5}}
  70. db.client.update({'prize_winner': {$exists: true}}, {$unset: {'prize_winner': 1}})
  71. db.client.update({'name': 'Tânia Soares'}, {$set: {'stats': {'last_pizza_eaten': 'Carbonara', 'when': new Date(2013, 0, 10, 18, 00)}}})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement