ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ื—ื‘ืจื™ื, ืขื•ื“ ื”ืฉืงืช ืงื•ืจืก "ืžืื’ืจ ืžื™ื“ืข" ื™ืชืงื™ื™ื ืžื—ืจ, ืื– ืงื™ื™ืžื ื• ืฉื™ืขื•ืจ ืคืชื•ื— ืžืกื•ืจืชื™, ืฉืืช ื”ืงืœื˜ืชื• ืชื•ื›ืœื• ืœืฆืคื•ืช ื›ืืŸ. ื”ืคืขื ื“ื™ื‘ืจื ื• ืขืœ ืžืกื“ ื”ื ืชื•ื ื™ื ื”ืคื•ืคื•ืœืจื™ MongoDB: ืœืžื“ื ื• ื›ืžื” ืžื”ื“ืงื•ื™ื•ืช, ื”ืกืชื›ืœื ื• ืขืœ ื™ืกื•ื“ื•ืช ื”ืคืขื•ืœื”, ื”ื™ื›ื•ืœื•ืช ื•ื”ืืจื›ื™ื˜ืงื˜ื•ืจื”. ื ื’ืขื ื• ื’ื ื‘ื›ืžื” ืžืงืจื™ ืžืฉืชืžืฉ.

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ื”ื•ื•ื‘ื™ื ืจ ื ืขืจืš ืื™ื‘ืŸ ื‘ืœื˜, ืจืืฉ ืคื™ืชื•ื— ืฉืจืชื™ื ื‘ืกื™ื˜ื™ืžื•ื‘ื™ืœ.

ืชื›ื•ื ื•ืช MongoDB

MongoDB ื”ื•ื DBMS ืžื•ื ื—ื” ืžืกืžืš ื‘ืงื•ื“ ืคืชื•ื— ืฉืื™ื ื• ื“ื•ืจืฉ ืชื™ืื•ืจ ืฉืœ ืกื›ื™ืžืช ื”ื˜ื‘ืœื”. ื”ื•ื ืžืกื•ื•ื’ ื›-NoSQL ื•ืžืฉืชืžืฉ ื‘-BSON (JSON ื‘ื™ื ืืจื™). ื ื™ืชืŸ ืœื”ืจื—ื‘ื” ืžื—ื•ืฅ ืœืงื•ืคืกื”, ื›ืชื•ื‘ ื‘-C++ ื•ืชื•ืžืš ื‘ืชื—ื‘ื™ืจ JavaScript. ืื™ืŸ ืชืžื™ื›ื” ื‘-SQL.

ืœ-MongoDB ื™ืฉ ืžื ื”ืœื™ ื”ืชืงื ื™ื ืœืฉืคื•ืช ืชื›ื ื•ืช ืคื•ืคื•ืœืจื™ื•ืช ืจื‘ื•ืช (C, C++, C#, Go, Java, JavaScript, Perl, PHP, Python, Ruby ื•ื›ื•'). ื™ืฉื ื ื’ื ืžื ื”ืœื™ ื”ืชืงื ื™ื ืœื ืจืฉืžื™ื™ื ื•ื ืชืžื›ื™ื ืขืœ ื™ื“ื™ ืงื”ื™ืœื” ืœืฉืคื•ืช ืชื›ื ื•ืช ืื—ืจื•ืช.

ื•ื‘ื›ืŸ, ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื”ืคืงื•ื“ื•ืช ื”ื‘ืกื™ืกื™ื•ืช ืฉื™ื›ื•ืœื•ืช ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ื•ืช.

ืื– ืœืคืจื•ืก ืืช MongoDB ื‘-Docker, ืื ื—ื ื• ื›ื•ืชื‘ื™ื:

docker run -it --rm -p 127.0.0.1:27017:27017 
--name mongo-exp-project mongo
docker exec -it mongo-exp-project mongo

ื›ืš ื–ื” ืงื•ืจื” ื”ืฉืงืช ืœืงื•ื— MongoDB:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื›ืชื•ื‘ ืืช ื”ืžืกื•ืจืชื™ ืฉืœื•ื ืขื•ืœื:

print (โ€œHello world!โ€)

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืœืื—ืจ ืžื›ืŸ - ื‘ื•ืื• ื ืชื—ื™ืœ ืืช ื”ืžื—ื–ื•ืจ:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ื›ืคื™ ืฉืฉืžืช ืœื‘, ืœืคื ื™ื ื• JS ืจื’ื™ืœ, ื•-MongoDB ื”ื•ื ืžืชื•ืจื’ืžืŸ ืžืœื ืฉืœ JavaScript.

ืžืชื™ ืœื”ืฉืชืžืฉ ื‘- MongoDB?

ื™ืฉ ืกื™ืคื•ืจ ืฉื”ืกื˜ืืจื˜ืืค ื”ืžืžื•ืฆืข ื‘ืขืžืง ื”ืกื™ืœื™ืงื•ืŸ ื”ื•ื ื”ืื“ื ืฉืคืชื— ืืช ื”ืกืคืจ "HTML for Dummies" ืœืคื ื™ ืฉื‘ื•ืข. ื‘ืื™ื–ื• ืขืจื™ืžื” ื”ื•ื ื™ื‘ื—ืจ? ืžืกื›ื™ื ืฉืžืื•ื“ ื ื•ื— ืœื• ื›ืฉืžืกื™ื‘ื•ืช ื‘ืจื•ืจื•ืช ื™ืฉ ืœื• JavaScript ื‘ื“ืคื“ืคืŸ, Node.js ืคื•ืขืœ ืขืœ ื”ืฉืจืช ื•ื’ื JavaScript ืคื•ืขืœ ื‘ืžืกื“ ื”ื ืชื•ื ื™ื. ื–ื• ื ืงื•ื“ื” ืžืกืคืจ 1.

ืฉื ื™ืช, ื™ืฉ ื‘ื™ืฆื•ืข ื ื”ื“ืจ ืคื™ื˜ืจ ื–ื™ื™ืฆื‘, ืื—ื“ ืžืžื•ืžื—ื™ ืžืกื“ื™ ื”ื ืชื•ื ื™ื ื”ื˜ื•ื‘ื™ื ื‘ื™ื•ืชืจ ื‘ืจื•ืกื™ื”. ื‘ื•, ืคื™ื˜ืจ ืžื“ื‘ืจ ืขืœ MySQL ื•-MongoDB, ืชื•ืš ืชืฉื•ืžืช ืœื‘ ืžื™ื•ื—ื“ืช ืžืชื™ ื•ื‘ืžื” ืขื“ื™ืฃ ืœื”ืฉืชืžืฉ.

ืฉืœื™ืฉื™ืช, ืื ื™ ืจื•ืฆื” ืœื”ื“ื’ื™ืฉ ื›ื™ MongoDB ืžืื•ืคื™ื™ืŸ ื‘ื˜ื•ื‘ ืžื“ืจื’ื™ื•ืช - ื•ื–ื”ื• ืื—ื“ ืžืžืืคื™ื™ื ื™ ื”ืžืคืชื— ืฉืœ ืžืกื“ ื”ื ืชื•ื ื™ื. ืื ืืชื” ืœื ื™ื•ื“ืข ืžืจืืฉ ืžื” ื™ื”ื™ื” ื”ืขื•ืžืก, MongoDB ืžื•ืฉืœื. ื‘ื ื•ืกืฃ, ื”ื•ื ืชื•ืžืš ื‘ืชื‘ื ื™ื•ืช ืžื—ื•ืฅ ืœืงื•ืคืกื” ื›ื’ื•ืŸ ืจื™ืกื•ืง ะธ ืฉื›ืคื•ืœ, ื•ื›ืœ ื–ื” ื ืขืฉื” ื“ื™ ืฉืงื•ืฃ, ื›ืœื•ืžืจ, ื–ื” ืžืื•ื“ ื ื•ื— ืœืขื‘ื•ื“.

ื‘ื™ื—ืก ื˜ืจืžื™ื ื•ืœื•ื’ื™ื” ื‘ MongoDB ืื–:

  • ืžืกื“ื™ ื ืชื•ื ื™ื ื”ื ืžืกื“ื™ ื ืชื•ื ื™ื (ืกื›ืžื•ืช, ืื•ืกืคื™ ื˜ื‘ืœืื•ืช);
  • ื‘ MongoDB ื™ืฉ ื“ื‘ืจ ื›ื–ื” ืื•ืกืฃ - ื–ื”ื• ืื ืœื•ื’ื™ ืฉืœ ื˜ื‘ืœื” ื•ืžืขืจื›ืช ืฉืœ ืžืกืžื›ื™ื ืฉื‘ืื•ืคืŸ ื”ื’ื™ื•ื ื™ ืฆืจื™ื›ื™ื ืœื”ื™ื•ืช ืžื—ื•ื‘ืจื™ื;
  • ืžืกืžื›ื™ื ืžืงื‘ื™ืœื™ื ืœืžื—ืจื•ื–ืช.

ื™ืฆื™ืจืช ืžืกื“ ื ืชื•ื ื™ื ื•ืฉืื™ืœืชื•ืช ืคืฉื•ื˜ื•ืช

ื›ื“ื™ ืœื™ืฆื•ืจ ืžืกื“ ื ืชื•ื ื™ื, ืืชื” ืจืง ืฆืจื™ืš ืœื”ืชื—ื™ืœ ืœื”ืฉืชืžืฉ ื‘ื•:

use learn

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืขื›ืฉื™ื• ื‘ื•ืื• ื ืขืฉื” ื”ื•ืกืคื” ืงื˜ื ื” ืฉืœ ื”ืžืกืžืš. ืชืŸ ืœื–ื” ืœื”ื™ื•ืช, ืœืžืฉืœ, ื—ื“ ืงืจืŸ ื‘ืฉื ืื•ืจื•ืจื”:

db.unicorns.insert({name: 'Aurora', gender: 'f', weight: 450})

db - ืื•ื‘ื™ื™ืงื˜ ื’ืœื•ื‘ืœื™ ืœื’ื™ืฉื” ืœืžืกื“ ื”ื ืชื•ื ื™ื, ื›ืœื•ืžืจ, ืœืžืขืฉื”, ื”"ืžื•ื ื’ื”" ืขืฆืžื”. ืžืฉืžืฉ ืœืจื™ืกื•ืง sh, ืœืฉื›ืคื•ืœ - rs.

ืื™ืœื• ืคืงื•ื“ื•ืช ื™ืฉ ืœืื•ื‘ื™ื™ืงื˜? db:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืื– ื‘ื•ืื• ื ื—ื–ื•ืจ ืœืคืงื•ื“ื” ืฉืœื ื•, ื•ื›ืชื•ืฆืื” ืžื›ืš ื”ืงื•ื ืกื•ืœื” ืชื“ื•ื•ื— ืฉื”ื•ืกืคื” ืฉื•ืจื” ืื—ืช:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืžืœื” unicorns ื‘ืงื‘ื•ืฆื” db.unicorns.insert({name: 'Aurora', gender: 'f', weight: 450}) ืžืฆื™ื™ืŸ ืื•ืกืฃ. ืฉื™ืžื• ืœื‘ ื›ืืŸ ืฉืœื ืชื™ืืจื ื• ื•ืœื ื™ืฆืจื ื• ืืช ื”ืื•ืกืฃ, ืืœื ืคืฉื•ื˜ ื›ืชื‘ื ื• 'ื—ื“ื™ ืงืจืŸ', ืขืฉื™ื ื• ื”ื•ืกืคื”, ื•ื”ื™ื” ืœื ื• ืื•ืกืฃ.

ื•ื›ื›ื” ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืงื‘ืœ ืืช ื›ืœ ื”ืื•ืกืคื™ื ืฉืœื ื•:

db.getCollectionNames()

ื•ื›ื•ืœื™. ืคื—ื™ืช ืœื”ื›ื ื™ืก ืขื•ื“ ืื—ื“ ืื•ืกืฃ:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืขื›ืฉื™ื• ื‘ื•ืื• ื ืฉืืœ ืื•ืกืฃ ืฉืœื (ืื ื—ื ื• ืžื–ื›ื™ืจื™ื ืœื›ื ืฉื‘ืžืงืจื” ืฉืœื ื• ื”ืžืื’ืจ ื›ื‘ืจ ืžื›ื™ืœ ืžื™ื“ืข ืขืœ ืฉื ื™ ื—ื“ื™ ืงืจืŸ ื‘ืื•ืชื• ืฉื):

db.unicorns.find()

ืฉื™ืžื• ืœื‘, ื”ื ื” ื”-JSON ืฉืœื ื• (ื™ืฉ ืฉื, ืžื™ืŸ, ืžืฉืงืœ, ืžื–ื”ื” ืื•ื‘ื™ื™ืงื˜ ื™ื™ื—ื•ื“ื™ ื›ืœืฉื”ื•):

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื›ื ื™ืก ืขื•ื“ ื›ืžื” ื—ื“ื™ ืงืจืŸ ืขื ืื•ืชื ืฉืžื•ืช:

db.unicorns.insert({name: 'Leto', gender: 'm', 
home: 'Arrakeen', worm: false}) 
db.unicorns.insert({name: 'Leto', gender: 'm', 
home: 'Arrakeen', worm: false})

ื•ื ืจืื” ืžื” ืงืจื”:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ื™ืฉ ืœื ื• ืฉื“ื•ืช ื ื•ืกืคื™ื: ื‘ื™ืช ะธ ืชื•ืœืขืช, ืฉืื™ืŸ ืœืื•ืจื•ืจื”.

ื‘ื•ืื• ื ื•ืกื™ืฃ ืขื•ื“ ื›ืžื” ื—ื“ื™ ืงืจืŸ:

db.unicorns.insertMany([{name: 'Horny', dob: new Date(1992,2,13,7,47), loves: ['carrot','papaya'], weight: 600, gender: 'm', vampires: 63}, 
{name: 'Aurora', dob: new Date(1991, 0, 24, 13, 0), loves: ['carrot', 'grape'], weight: 450, gender: 'f', vampires: 43}, 
{name: 'Unicrom', dob: new Date(1973, 1, 9, 22, 10), loves: ['energon', 'redbull'], weight: 984, gender: 'm', vampires: 182}, 
{name: 'Roooooodles', dob: new Date(1979, 7, 18, 18, 44), loves: ['apple'], weight: 575, gender: 'm', vampires: 99}])

ืื–, ื”ื›ื ืกื ื• ืืจื‘ืขื” ืื•ื‘ื™ื™ืงื˜ื™ื ื ื•ืกืคื™ื ื‘ืืžืฆืขื•ืช JavaScript:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืœื“ืขืชืš, ื‘ืื™ืœื• ืžืื’ืจื™ ืžื™ื“ืข ื ื•ื— ื™ื•ืชืจ ืœืื—ืกืŸ ื ืชื•ื ื™ ื“ืจื›ื•ืŸ: ืžืื’ืจื™ ืžื™ื“ืข ื™ื—ืกื™ ืื• ืžื•ื ื’ื•?

ื”ืชืฉื•ื‘ื” ื‘ืจื•ืจื” - ื‘ืžื•ื ื’ื”, ื•ื”ื“ื•ื’ืžื” ืœืขื™ืœ ืžืจืื” ื–ืืช ื”ื™ื˜ื‘. ื–ื” ืœื ืกื•ื“ ืฉ-KLADR ื”ื•ื ื›ืื‘ ื‘ืคื“ืจืฆื™ื” ื”ืจื•ืกื™ืช. ื•ืžื•ื ื’ื” ืžืชืื™ืžื” ืžืื•ื“ ืœื›ืชื•ื‘ื•ืช, ื›ื™ ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ื”ื›ืœ ื›ืžืขืจืš, ื•ื”ื—ื™ื™ื ื™ื”ื™ื• ื”ืจื‘ื” ื™ื•ืชืจ ืงืœื™ื. ื•ื–ื” ื˜ื•ื‘ ืžืงืจื” ืžืฉืชืžืฉ ืขื‘ื•ืจ MongoDB.

ื‘ื•ืื• ื ื•ืกื™ืฃ ืขื•ื“ ื—ื“ื™ ืงืจืŸ:

db.unicorns.insert({name: 'Solnara', dob: new Date(1985, 6, 4, 2, 1), loves:['apple', 'carrot', 'chocolate'], weight:550, gender:'f', vampires:80}); 
db.unicorns.insert({name:'Ayna', dob: new Date(1998, 2, 7, 8, 30), loves: ['strawberry', 'lemon'], weight: 733, gender: 'f', vampires: 40}); 
db.unicorns.insert({name:'Kenny', dob: new Date(1997, 6, 1, 10, 42), loves: ['grape', 'lemon'], weight: 690, gender: 'm', vampires: 39}); 
db.unicorns.insert({name: 'Raleigh', dob: new Date(2005, 4, 3, 0, 57), loves: ['apple', 'sugar'], weight: 421, gender: 'm', vampires: 2}); 
db.unicorns.insert({name: 'Leia', dob: new Date(2001, 9, 8, 14, 53), loves: ['apple', 'watermelon'], weight: 601, gender: 'f', vampires: 33}); 
db.unicorns.insert({name: 'Pilot', dob: new Date(1997, 2, 1, 5, 3), loves: ['apple', 'watermelon'], weight: 650, gender: 'm', vampires: 54}); 
db.unicorns.insert({name: 'Nimue', dob: new Date(1999, 11, 20, 16, 15), loves: ['grape', 'carrot'], weight: 540, gender: 'f'}); 
db.unicorns.insert({name: 'Dunx', dob: new Date(1976, 6, 18, 18, 18), loves: ['grape', 'watermelon'], weight: 704, gender: 'm', vampires: 165});

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืขื›ืฉื™ื• ืฉื™ืžื• ืœื‘ ืœืžืกืžื›ื™ื. ื›ืคื™ ืฉ dob ืื ื• ืžืื—ืกื ื™ื ื—ืคืฆื™ื ืฉืœืžื™ื. ื™ืฉ ื’ื ืžื™ื“ืข ืขืœ ืžื” ืฉื—ื“ ืงืจืŸ ืื•ื”ื‘, ื•ืœื ืœื›ื•ืœื ื™ืฉ ืืช ื”ืžื™ื“ืข ื”ื–ื”. ืื– ื‘ืคื ื™ื ืฉืงืจื™ื ืžืขืจืš ืžืœื.

ืื’ื‘, ื›ื“ื™ ืœื”ืฆื™ื’ ืืช ื”ืชื•ืฆืื•ืช ื‘ืฆื•ืจื” ื™ืคื” ื™ื•ืชืจ, ืืคืฉืจ ืœืงืจื•ื ืœืžืชื•ื“ื” ื‘ืกื•ืฃ ืคืงื•ื“ืช ื”ื—ื™ืคื•ืฉ .pretty():

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืื ืืชื” ืฆืจื™ืš ืœืงื‘ืœ ืžื™ื“ืข ืขืœ ื”ืฉื’ื™ืื” ื”ืื—ืจื•ื ื”, ื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื” ื”ื‘ืื”:

db.getLastError()

ื–ื” ื™ื›ื•ืœ ืœื”ื™ืขืฉื•ืช ืœืื—ืจ ื›ืœ ื”ื›ื ืกื”, ืื• ืฉืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืืช Write Concern. ืขื“ื™ืฃ ืœืงืจื•ื ืขืœ ื–ื” ื‘ ืชื™ืขื•ื“ ืจืฉืžื™, ืฉื”ื•ื, ืื’ื‘, ืžืื•ื“ ืื™ื ืคื•ืจืžื˜ื™ื‘ื™ ื‘ืžื•ื ื’ื”. ืื’ื‘, ื–ื” ื–ืžื™ืŸ ื’ื ื‘-Habrรฉ ืžืืžืจ ื˜ื•ื‘ ื‘ื”ื–ื“ืžื ื•ืช ื–ื•.

ื‘ื•ืื• ื ืขื‘ื•ืจ ืœืฉืื™ืœืชื•ืช ืžื•ืจื›ื‘ื•ืช ื™ื•ืชืจ

ืฉืื™ืœืชื” ืขื‘ื•ืจ ืขืจืš ืฉื“ื” ืžื“ื•ื™ืง:

db.unicorns.find({gender: 'm'})

ืขืœ ื™ื“ื™ ื›ืชื™ื‘ืช ื‘ืงืฉื” ื›ื–ื•, ื ืงื‘ืœ ืจืฉื™ืžื” ืฉืœ ื›ืœ ื—ื“ื™ ื”ืงืจืŸ ื”ื–ื›ืจื™ื ื‘ืคืœื˜ ื”ืงื•ื ืกื•ืœื”.

ืืชื” ื™ื›ื•ืœ ื’ื ืœืขืฉื•ืช ืฉืื™ืœืชื” ืขืœ ืžืกืคืจ ืฉื“ื•ืช ื‘ื• ื–ืžื ื™ืช: ืœืคื™ ืžื™ืŸ ื•ืœืคื™ ืžืฉืงืœ:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืœืžืขืœื”, ืฉื™ืžื• ืœื‘ ืœืžื™ื•ื—ื“ ื‘ื•ืจืจ $gt, ื”ืžืืคืฉืจ ืœืš ืœื’ื“ืœ ืืช ื›ืœ ื—ื“ื™ ื”ืงืจืŸ ื”ื–ื›ืจื™ื ื‘ืžืฉืงืœ ืฉืœ ื™ื•ืชืจ ืž-700.

ืืชื” ื™ื›ื•ืœ ืœื‘ื“ื•ืง ื”ืื ื”ืชื—ื•ื ืงื™ื™ื ื‘ื›ืœืœ?:

db.unicorns.find({vampires: {$exists: false}})

ืื• ื›ืš:

db.unicorns.find({'parents.father': {$exists: true}})

ื”ืฆื•ื•ืช ื”ื‘ื ื™ื•ืฆื™ื ืืช ื—ื“ื™ ื”ืงืจืŸ, ืฉืฉืžื•ืชื™ื”ื ืžืชื—ื™ืœื™ื ื‘ืื•ืชื™ื•ืช A ืื• a:

db.unicorns.find({name: {$regex: "^[Aa]"}})

ืขื›ืฉื™ื• ืชืฉืงื•ืœ ื—ื™ืคื•ืฉ ืžืขืจืš. ืฉืืœื” ืžืก' 1: ืžื” ืชืคื™ืง ื”ืคืงื•ื“ื” ื”ื–ื•:

db.unicorns.find({loves:'apple'})

ื ื›ื•ืŸ: ื›ืœ ืžื™ ืฉืื•ื”ื‘ ืชืคื•ื—ื™ื.

ื”ืคืงื•ื“ื” ื”ื‘ืื” ืชื—ื–ื™ืจ ืจืง ืืช ื ืชื•ื ื™ ื”ื—ื“ ืงืจืŸ ื”ืžื›ื™ืœื™ื ืจืง ืชืคื•ื—ื™ื ื•ืื‘ื˜ื™ื—ื™ื:

db.unicorns.find({loves:[ "apple", "watermelon" ]})

ื•ืขื•ื“ ืคืงื•ื“ื” ืื—ืช:

db.unicorns.find({loves:[ "watermelon", "apple" ]})

ื‘ืžืงืจื” ืฉืœื ื• ื–ื” ืœื ื™ื—ื–ื™ืจ ื›ืœื•ื, ืฉื›ืŸ ื›ืฉืขื•ื‘ืจื™ื ืžืขืจืš ืžืฉื•ื•ื™ื ืืช ื”ืืœืžื ื˜ ื”ืจืืฉื•ืŸ ืœืจืืฉื•ืŸ, ื”ืฉื ื™ ืœืฉื ื™ ื•ื›ื•'. ื›ืœื•ืžืจ, ื”ืžืขืจืš ืฆืจื™ืš ื’ื ืœื”ืชืื™ื ืœืคื™ ืขืžื“ื” ืขืจื›ื™ื ืืœื•.

ื•ื›ื›ื” ื–ื” ื ืจืื” ื—ื™ืคื•ืฉ ื‘ืžืขืจืš ื‘ืืžืฆืขื•ืช ื”ืื•ืคืจื˜ื•ืจ "OR".:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ื”ื“ื•ื’ืžื” ื”ื‘ืื” ืชืจืื” ืœื ื• ื—ืคืฉ ื‘ืืžืฆืขื•ืช ื”ืื•ืคืจื˜ื•ืจ $all. ื•ื›ืืŸ ื”ืจืฆืฃ ืœื ื—ืฉื•ื‘:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ื’ื ืื ื—ื ื• ื™ื›ื•ืœื™ื ื—ื™ืคื•ืฉ ืœืคื™ ื’ื•ื“ืœ ืžืขืจืš:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืื‘ืœ ืžื” ืื ื ืจืฆื” ืœืžืฆื•ื ืžืขืจืš ืฉื’ื•ื“ืœื• ื’ื“ื•ืœ ืžืื—ื“? ื™ืฉ ืžืคืขื™ืœ ืœื–ื” $ ืื™ืคื”, ืฉืื™ืชื• ืืชื” ื™ื›ื•ืœ ืœื›ืชื•ื‘ ื“ื‘ืจื™ื ืžื•ืจื›ื‘ื™ื ื™ื•ืชืจ:

db.unicorns.find({$where: function() { return this.loves && (this.loves.length > 1) } })

ืื’ื‘, ืื ืืชื” ืจื•ืฆื” ืœื”ืชืืžืŸ, ื”ื ื” ืืชื” ืงื•ื‘ืฅ ืขื ืคืงื•ื“ื•ืช.

ืชื›ื•ื ื•ืช ื”ืกืžืŸ

ื”ื‘ื” ื ืกืชืจ ืžืขื˜ ื•ื ืืžืจ ื›ืžื” ืžื™ืœื™ื ืขืœ ื”ืชื›ื•ื ื•ืช ืฉืœ ืžื•ื ื’ื”:

  • find() ื•ืคืขื•ืœื•ืช ืื—ืจื•ืช ืื™ื ืŸ ืžื—ื–ื™ืจื•ืช ื ืชื•ื ื™ื - ื”ืŸ ืžื—ื–ื™ืจื•ืช ืžื” ืฉื ืงืจื "ืกืžืŸ";
  • ื”ืขื•ื‘ื“ื” ืฉืื ื• ืจื•ืื™ื ืืช ื”ื ืชื•ื ื™ื ืžื•ื“ืคืกื™ื ื”ื™ื ืขื‘ื•ื“ืชื• ืฉืœ ื”ืžืชื•ืจื’ืžืŸ.

ื”ืงืœื“ื” db.unicorns.find ืœืœื ืกื•ื’ืจื™ื™ื, ืื ื• ืžืงื‘ืœื™ื ืืช ื”ื”ื ื—ื™ื”:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืื ื• ืžืžืฉื™ื›ื™ื ืœืžืœื ื‘ืงืฉื•ืช

ื™ืฉ ื’ื ืืช ื”ืื•ืคืจื˜ื•ืจ $in:

db.unicorns.find({weight: {$in: [650, 704]}})

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ืขื“ื›ื•ืŸ. ืœื“ื•ื’ืžื”, ื‘ื•ืื• ื ืฉื ื” ืืช ื”ืžืฉืงืœ ืฉืœ ื—ื“ ื”ืงืจืŸ Rooooodles:

db.unicorns.update({name: "Roooooodles"}, {weight: 2222})

ื›ืชื•ืฆืื” ืžืžืขืฉื™ื ื•, ื”ืžืกืžืš ื™ืขื•ื“ื›ืŸ ืœื—ืœื•ื˜ื™ืŸ, ื•ืจืง ืฉื“ื” ืžื•ื’ื“ืจ ืื—ื“ ื™ื™ืฉืืจ ื‘ื•:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ื›ืœื•ืžืจ, ื”ื“ื‘ืจ ื”ื™ื—ื™ื“ ืฉื™ื™ืฉืืจ ืœืื•ื‘ื™ื™ืงื˜ ืฉืœื ื• ื”ื•ื ื”ืžืฉืงืœ 2222 ื•ื›ืžื•ื‘ืŸ id.

ืืชื” ื™ื›ื•ืœ ืœืชืงืŸ ืืช ื”ืžืฆื‘ ื‘ืืžืฆืขื•ืช $ืกื˜:

db.unicorns.update({_id: ObjectId("5da6ea4d9703b8be0089e6db")}, {$set: { "name" : "Roooooodles", "dob" : ISODate("1979-08-18T18:44:00Z"), "loves" : [ "apple" ], "gender" : "m", "vampires" : 99}})

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ื–ื” ื’ื ืืคืฉืจื™ ืœื”ื’ื“ื™ืœ ืขืจื›ื™ื:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ื•ื™ืฉ ืžืขืœื” - ืฉื™ืœื•ื‘ ืฉืœ ืขื“ื›ื•ืŸ ื•ื”ื•ืกืคื”:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ื”ื ื” ืื™ืš ื–ื” ื ืขืฉื” ื‘ื—ื™ืจืช ืฉื“ื”:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ื ื•ืชืจ ืœื”ื•ืกื™ืฃ ื›ืžื” ืžื™ืœื™ื ืœื’ื‘ื™ ืœื“ืœื’ ะธ ืœื”ื’ื‘ื™ืœ:

ืคืชื— ืืช ื”ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "MongoDB Basics"

ืขืžื™ืชื™ื, ื–ื” ื”ื›ืœ, ืื ืืชื ืจื•ืฆื™ื ืœื“ืขืช ืืช ื”ืคืจื˜ื™ื, ืœืฆืคื•ืช ื‘ืกืจื˜ื•ืŸ ื›ื•ืœื•. ื•ืืœ ืชืฉื›ื—ื• ืœื”ืฉืื™ืจ ืชื’ื•ื‘ื•ืช!

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”