MongoDB: рдкреНрд░рд╢реНрди

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдХреБрдЫ рдиреЗ рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рд╡рд┐рд╖рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛, MongoDB: рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдирд╛, рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдФрд░ рд╣рдЯрд╛рдирд╛ , рдпрд╣ рдСрдлрд╝рд╕реЗрдЯ рдХреА рдПрдХ рд░реАрдЯреЗрд▓рд┐рдВрдЧ рд╣реИред рдкреНрд░рд▓реЗрдЦрди, рдореИрдВ рдЗрд╕рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВред рдореБрдЭреЗ рдпрд╣ рдкреНрд░рддреАрдд рд╣реБрдЖ рдХрд┐ рдЗрд╕рдореЗрдВ рджреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдирд┐рд░рдВрддрд░рддрд╛ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реВрдВред

рдЦреЛрдЬреЗрдВ MySQL рдореЗрдВ SELECT рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред MongoDB рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд░реВрдк рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдПрдХ рдЦрд╛рд▓реА рд╕рдВрдЧреНрд░рд╣ред рдПрдХ рдЙрджрд╛рд╣рд░рдг:

> db.users.find();

рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛ред

> db.users.find( { age: 27 } );

рдЙрди рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд▓реМрдЯрд╛рдПрдЧрд╛ рдЬрд┐рдирдХреА рдЙрдореНрд░ 27 рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрдИ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

> db.users.find( { username: тАЬjoeтАЭ, age: 27 } );

рдХрднреА-рдХрднреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рд╕реЗ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝реАрд▓реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдиреБрд░реЛрдз рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

> db.users.find( { }, { username: 1, email: 1 } );

рдирддреАрдЬрддрди, рд╣рдо рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХреЗрд╡рд▓ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо" рдФрд░ "рдИрдореЗрд▓" рдлрд╝реАрд▓реНрдб + "_id" рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рд╣рдореЗрд╢рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ "_id" рдлрд╝реАрд▓реНрдб рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝реАрд▓реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

> db.users.find( { }, { username: 1, email: 1, _id: 0 } );

рдПрдХ рд╢рд░реНрдд рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз



рдСрдкрд░реЗрдЯрд░: $ lt - рдХрдо, $ lte - рдЗрд╕рд╕реЗ рдХрдо рдпрд╛ рдмрд░рд╛рдмрд░, $ gt - рдЕрдзрд┐рдХ, $ gte - рдЕрдзрд┐рдХ рдпрд╛ рдмрд░рд╛рдмрд░, $ ne - рдирд╣реАрдВ рдХреЗ рдмрд░рд╛рдмрд░ред
рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг:
рд╣рдореЗрдВ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд┐рд▓рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдЖрдпреБ 18 рд╕реЗ рдЕрдзрд┐рдХ рдФрд░ 30 рд╕реЗ рдХрдо рд╣реИ

> db.users.find( { age: { $gte: 18, $lte: 30 } } );

рд╣рдореЗрдВ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд┐рд▓рддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо" "joe" рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИ

> db.users.find( { username: { $ne: тАЬjoeтАЭ } } );

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рдВрдЧреНрд░рд╣ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд▓реЙрдЯрд░реА рдЯрд┐рдХрдЯреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЬреАрддрдиреЗ рд╡рд╛рд▓реЗ рдирдВрдмрд░ 390, 754, 454 рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдСрдкрд░реЗрдЯрд░ рдореЗрдВ $ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

> db.users.find( { numbers: { $in: [ 390, 754, 454 ] } } );

рдпрд╛рдиреА рдЯрд┐рдХрдЯ рдореЗрдВ рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рдирдВрдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдСрдкрд░реЗрдЯрд░ рдореЗрдВ $ рдХреЗ рд╡рд┐рдкрд░реАрдд $ рдиреМ рд╣реИред рд╕рд╛рджреГрд╢реНрдп рд╕реЗ, рд╡рд╣ рдХреЗрд╡рд▓ рдЙрди рдЯрд┐рдХрдЯреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рдирдВрдмрд░ рдирд╣реАрдВ рд╣реИрдВред
$ рдпрд╛ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдЙрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ 547 рдирдВрдмрд░ рдпрд╛ рдЬрд╣рд╛рдВ "рд╡рд┐рдЬреЗрддрд╛" рдХреНрд╖реЗрддреНрд░ рд╕рддреНрдп рд╣реИ, рдХреЗ рд╕рд╛рде рд╕рднреА рдЯрд┐рдХрдЯреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

> db.users.find( { $or: [ { tickect_number: 547 }, { winner: true } ] } );

$ Mod рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдорд╛рди рдкрд╣рд▓реЗ рддрд░реНрдХ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╢реЗрд╖ рднрд╛рдЧ рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ:

> db.users.find( { user_id: { $mod: [ 5, 1 ] } } );

рдРрд╕реА рдХреНрд╡реЗрд░реА рдЙрди рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд▓реМрдЯрд╛рдПрдЧреА рдЬрд┐рдирдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛_ 1, 6, 11, 16 рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╣реИрдВред
рдЙрдкрд░реЛрдХреНрдд рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк $ рдирд╣реАрдВ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

> db.users.find( { user_id: { $not: { $mod: [ 5, 1 ] } } } );

рд╣рдореЗрдВ "user_id" 2, 3, 4, 5, 7, 8, 9, 10, 12 рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд┐рд▓реЗрдВрдЧреЗред
рдПрдХ рдХреБрдВрдЬреА рдореМрдЬреВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВ - рдЗрд╕рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рдСрдкрд░реЗрдЯрд░ рднреА рд╣реИ - $ рдореМрдЬреВрдж рд╣реИ

> db.c.find({"z" : {"$in" : [null], "$exists" : true}});

рддреЛ рдЖрдк рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдХреБрдВрдЬреА "z" рдореМрдЬреВрдж рд╣реИ рдФрд░ рдпрд╣ рд╢реВрдиреНрдп рд╣реИред

рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐



рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЪреАрдЬ рд╣реИред MongoDB рдкрд░реНрд▓-рд╕рдВрдЧрдд рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирд╛рдо рдпрд╛ рдЬреЛ рдХреЗ рд╕рд╛рде рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

> db.users.find( { "name" : /^joe$/i } );

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЬрд╣рд╛рдВ рдШреВрдордирд╛ рд╣реИред рдЙрд╕реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдк рдЕрдкрдиреЗ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред

рдРрд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрди



рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЦрд╛рджреНрдп рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдФрд░ рд╣рдо рд╡рд╣рд╛рдВ рдлрд▓ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдбрд╛рд▓рддреЗ рд╣реИрдВ

> db.food.insert( { "fruit" : [ "apple", "banana", "peach" ] } );

рдРрд╕рд╛ рдирд┐рд╡реЗрджрди рд╣реИ

> db.food.find({"fruit" : "banana"});

рдЙрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрд╛ рд▓реЗрдВрдЧреЗред
рдпрджрд┐ рдЖрдкрдХреЛ рд╕рд░рдгреА рдХреЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдСрдкрд░реЗрдЯрд░ рдХреЛ $ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

> db.food.find( { fruits: { $all : [ "apple", "banana" ] } } );

рдРрд╕реА рдХреНрд╡реЗрд░реА рдлрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧреА рдЬрд┐рд╕рдореЗрдВ рд╕реЗрдм рдФрд░ рдХреЗрд▓реЗ рд╣реИрдВред
рд╣рдо рдПрд░реЗ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЗ рдкреВрд░реНрдг рд╕рдВрдпреЛрдЧ рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

> db.food.find( { fruits: [ "apple", "banana", "peach" ] } );

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмреНрд▓реЙрдЧ рд╣реИ, рдЗрд╕рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВред рд╣рдо рдкрд╣рд▓реЗ 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред $ рдЯреБрдХрдбрд╝рд╛ рдСрдкрд░реЗрдЯрд░ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИ:

> db.blog.posts.findOne( { }, { "comments" : { "$slice" : 10 } } );

findOne - рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓рд╛ рдорд┐рд▓рд╛рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдВрддрд┐рдо 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦреЗрдВ:

> db.blog.posts.findOne( { }, { "comments" : { "$slice" : -10 } } );

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ $ рдЯреБрдХрдбрд╝рд╛ рдмреАрдЪ рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

> db.blog.posts.findOne( { }, { comments : { "$slice" : [ 23, 10 ] } });

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, 23 рдкреНрд░рд╛рд░рдВрднрд┐рдХ рддрддреНрд╡ рдЫреЛрдбрд╝ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ 34 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 24 рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛

рд╕реАрдорд╛рдПрдВ, рдЫреЛрдбрд╝реЗрдВ, рдФрд░ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ



рдЕрдиреБрд░реЛрдз рдкрд░ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реАрдорд╛ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

> db.users.find().limit(3);

рдкрд╣рд▓реЗ 3 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░реЗрдЧрд╛ред
рдХрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рдХрд░ рдмрд╛рдХреА рд╕рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдХрд┐рдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

> db.users.find().skip(3);

рд╣рдореЗрдВ рдкрд╣рд▓реЗ рддреАрди рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд┐рд▓рддреЗ рд╣реИрдВред
рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реЙрд░реНрдЯ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЫрдВрдЯрдиреА рдЖрд░реЛрд╣реА (1) рдФрд░ рдЕрд╡рд░реЛрд╣реА (- 1) рд╣реЛ рд╕рдХрддреА рд╣реИред рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдХрдИ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдЫрдВрдЯрдиреА рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:

> db.users.find().sort( { username : 1, age : -1 } );

рдЗрди рддреАрдиреЛрдВ рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

> db.stock.find( { "desc" : "mp3" } ).limit(50).skip(50).sort( { "price" : -1 } );

рдмрдбрд╝реЗ рдорд╛рди рдХреЗ рд╕рд╛рде рд╕реНрдХрд┐рдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкреГрд╖реНрдард╛рдВрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

рдкреЗрдЬрд┐рдВрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдкрд╣рд▓реА рдмрд╛рд░ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рд╕реАрдорд╛ рдХреЛ рдЗрд╕ рдорд╛рди рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ

> var page1 = db.foo.find(criteria).limit(100)
> var page2 = db.foo.find(criteria).skip(100).limit(100)
> var page3 = db.foo.find(criteria).skip(200).limit(100)


рд▓реЗрдХрд┐рди рдпрд╣ рдзреАрд░реЗ-рдзреАрд░реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдЙрд╕ рддрд╛рд░реАрдЦ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЪрдпрди рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕ рджрд┐рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛:

> var page1 = db.foo.find().sort( {"date" : -1} ).limit(100);

рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ рдФрд░ рдкрд╣рд▓реЗ 100 рд▓реЗрдВред рдХреНрд░рдо рди рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдВрддрд┐рдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рддрд╛рд░реАрдЦ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд┐рдерд┐ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╣реА рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

var page2 = db.foo.find( { "date" : { "$gt" : latest.date } } );

рдЗрд╕ рддрд░рд╣ рдЖрдк рдмрдбрд╝реЗ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдХрд┐рдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпреЗ MongoDB рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВ рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред

Source: https://habr.com/ru/post/In134590/


All Articles