Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - Basics - Databases: are databases
- - Collections: same as table
- - Documents: equivalent to rows
- - Fields: equivalent to rows (schema-less)
- - Indexes: are indexes
- - Cursor: what MongoDB returns on data requests
- - New database:
- use <DATABASE_NAME>
- use pizza_shack
- - Insert:
- db.<COLLECTION_NAME>.insert(<DOCUMENT_DATA>)
- db.client.insert({'name': 'Tânia Soares', 'gender': 'F', 'age': 50, 'score': 1})
- db.client.insert({'name': 'José Dias', 'gender': 'M', 'age': 80, 'score': 7, 'pizzas_preferred': [{'name': 'Diavola', 'score': 8}, {'name': 'American', 'score': 5}]})
- 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)}})
- 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)}})
- db.client.insert({'name': 'Joana Trindade', 'gender': 'F', 'age': 34, 'score': 10, 'pizzas_preferred': [{'name': 'Diavola', 'score': 6}, {'name': 'Carbonara', 'score': 9}]})
- 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)}})
- 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}]})
- 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)} })
- - Find:
- db.<COLLECTION_NAME>.find(<SELECTOR(WHERE)>)
- db.client.find({'stats.last_pizza_eaten': {$exists: true}})
- db.client.find({'age': {$gt: 30, $lt: 100}})
- db.client.find({'age': {$in: [38, 55]}})
- db.client.find({$or: [{'age': {$gt: 40}}, {'score': {$gt: 8}}] })
- db.client.find({'gender': {$ne: 'F'}, $or: [{'age': {$gt: 40}}, {'score': {$gt: 8}}] })
- db.client.find({'name': /^José/})
- db.client.find({'pizzas_preferred.name': {$in: [/diavola/i]}})
- db.client.find({'stats.last_pizza_eaten': /carbonara/i})
- db.client.find({'_id': ObjectId('<DOCUMENT_ID>')})
- db.client.find({'name': /José/})
- db.client.find({'pizzas_preferred.name': 'Diavola'})
- db.client.find({'stats.last_pizza_eaten': /carbonara/i, 'stats.when': {$lte: new Date()}}).sort('stats.when': -1).limit(1)
- db.client.find({'age': {$gt: 50}, 'stats.last_pizza_eaten': {$exists: true}})
- db.client.find({'score': {$lte: 5}})
- db.client.find({'pizzas_preferred': {$exists: true, $ne: []}})
- db.client.find({'age': {$in: [80, 70]}})
- Returned fields:
- {'name': 1} Return only 'name' field (and _id)
- {'name': 1, '_id': 0} Really return only 'name' field (excludes _id)
- {'name': 0} Return all fields except 'name'
- Cursor:
- .count()
- .skip(1)
- .skip(1).count(true)
- .limit(1)
- .batchSize(10)
- - Update:
- db.<COLLECTION_NAME>.update(<SELECTOR(WHERE)>, <NEW_DOCUMENT_DATA>, <OPTIONS>)
- db.client.update({'name': 'José Dias'}, {'age': 85})
- 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})
- db.client.update({'name': 'José Dias'}, {$set: {'age': 85}})
- db.client.update({'pizzas_preferred': {$exists: true}}, {$inc: {'score': 1}}, {'multi': true})
- db.client.update({'pizzas_preferred.score': {$gt: 8}}, {$set: {'prize_winner': true}}, {'multi': true} )
- db.client.update({$or: [{'name': 'José Dias'}, {'pizzas_preferred .score': {$gt: 8}}]}, {$set: {'prize_winner': true}}, {'multi': true} )
- db.client.update({'_id': ObjectId('<DOCUMENT_ID>')}, {$unset: {'pizzas_preferred': 1}, $inc: {'score': -1}})
- db.client.update({'pizzas_preferred.name': 'Diavola' }, {$unset: {'pizzas_preferred.$': 1}}, {'multi': true})
- db.client.update({}, {$push: {'pizzas_preferred': {'name': '4 Cheese', 'score': 10}}}, {'multi': true})
- db.client.update({'name': 'Paulo José', 'pizzas_preferred.name': 'Carbonara'}, {$set: {'pizzas_preferred.$.score': 5}}
- db.client.update({'prize_winner': {$exists: true}}, {$unset: {'prize_winner': 1}})
- 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