MongoDB рдФрд░ PHP рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рдирд╛

рдЕрдЧрд▓реА рдкреАрдврд╝реА

рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ, рдЕрдкрд╛рдЪреЗ рдХрд╛рдЙрдЪрдбреАрдмреА рдЬреИрд╕реЗ рд╕рд░реНрдХрд┐рдЯрд▓реЗрд╕ (рд╕реНрдЯреНрд░рдХреНрдЪрд░рд▓реЗрд╕) рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рдЖрдЧрдорди рд╕реЗ рдЬреБрдбрд╝реА рдбреАрдмреАрдПрдордПрд╕ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рдХреНрд░рд╛рдВрддрд┐ рд╣реБрдИ рд╣реИред рдпреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ JSON рдЬреИрд╕реА рдЖрдзреБрдирд┐рдХ рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд▓рдЪреАрд▓реЗрдкрди, рд╕рд░рд▓рддрд╛ рдФрд░ рдЖрд╕рд╛рди рдПрдХреАрдХрд░рдг рдХреЗ рдХрд╛рд░рдг рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рдЬрд▓реНрджреА рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

рдпрд╣ рд▓реЗрдЦ MongoDB рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдпреЛрдЬрдирд╛рдмрджреНрдз-рдореБрдХреНрдд DBMS рдХреА рдирдИ рдкреАрдврд╝рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЬрд┐рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



рдореБрдЭреЗ рд╢реБрд░реВ рдХрд░реЛ

MongoDB рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓, рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рдЙрдиреНрдореБрдЦ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИред рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо рд╣реИрдВ рдФрд░ рдЗрдиреНрд╣реЗрдВ рдЬреАрдПрдирдпреВ рдПрдЬреАрдкреАрдПрд▓ рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐ MongoDB CouchDB рдХреЗ рд╕рдорд╛рди рд╣реИ, рдлрд┐рд░ рднреА рдЙрдирдХреЗ рдмреАрдЪ рдЧрдВрднреАрд░ рдЕрдВрддрд░ рд╣реИрдВ:



MongoDB рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЗрди рд╕рднреА (рдФрд░ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ) рдХреЗ рдЕрдВрддрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ , MongoDB, CouchDB рдФрд░ MySQL ( рдкрд╡рд┐рддреНрд░ рдпреБрджреНрдз рдХрд╛ рдПрдХ рдФрд░ рдХрд╛рд░рдг ) рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд░реАрдХреНрд╖рдг рднреА рд╣реИрдВред

MongoDB рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рдУрд╡рд░, рд╕рдордпред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдХ рдорд╛рдирдХ рдмрд╛рдЗрдирд░реА рдкреИрдХреЗрдЬ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ; рдЗрд╕рдореЗрдВ MongoDB рдФрд░ рдПрдХ рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдХреНрд▓рд╛рдЗрдВрдЯ, рдмреИрдХрдЕрдк, рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ, рд╕рд╛рде рд╣реА рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:

рд╢реЗрд▓> рд╕реАрдбреА / рдпреВрдПрд╕рдЖрд░ / рд╕реНрдерд╛рдиреАрдп

рдЦреЛрд▓> рдЯрд╛рд░ -xzvf рдореЛрдВрдЧреЛрдбрдм-рд▓рд┐рдирдХреНрд╕-i686-1.4.2.tgz

рдЦреЛрд▓> ln -s рдореЛрдВрдЧреЛрдбрдм-рд▓рд┐рдирдХреНрд╕-i686-1.4.2 рдореЛрдВрдЧреЛ

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрдмрдВрдЯреВ рд╣реИ, рддреЛ рдЖрдк рдПрдкреНрдЯреАрдЯреНрдпреВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ MongoDB рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдХреЛ /etc/apt/sources.list рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

deb downloads.mongodb.org/distros/ubuntu 10.4 10gen

рдлрд┐рд░ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЛ рдПрдкреНрдЯреАрдЯреНрдпреВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

рд╢реЗрд▓> рдПрдкреНрдЯреАрдЯреНрдпреВрдб рдЕрдкрдбреЗрдЯ

рд╢реЗрд▓> рдПрдкреНрдЯреАрдЯреНрдпреВрдб mongodb- рд╕реНрдерд┐рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рдЬрдм рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ MongoDB рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░реЗрдВ

рд╢реЗрд▓> mkdir / usr / рд╕реНрдерд╛рдиреАрдп / рдореЛрдВрдЧреЛ / рдбреЗрдЯрд╛

рдЦреЛрд▓> / usr / рд╕реНрдерд╛рдиреАрдп / рдореЛрдВрдЧреЛ / рдмрд┐рди / рдордВрдЧреЛрд▓ - dbpath = / usr / рд╕реНрдерд╛рдиреАрдп / рдордВрдЧреЛрд▓ / рдбреЗрдЯрд╛





рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, MongoDB рд╕рд░реНрд╡рд░ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ / рдбреЗрдЯрд╛ / db рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рдФрд░ рдпрд╣ рдкрде рдирд╣реАрдВ рдорд┐рд▓рдиреЗ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред --Dbpath рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЛ рдПрдХ рдЕрд▓рдЧ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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

рд╢реЗрд▓> / usr / рд╕реНрдерд╛рдиреАрдп / рдореЛрдВрдЧреЛ / рдореЛрдВрдЧреЛ

рдпрд╣рд╛рдБ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:





рдЖрдк рд╕рд░реНрд╡рд░, рд╕рд╛рде рд╣реА MySQL рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдХрдорд╛рдВрдб рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдЙрдкрд▓рдмреНрдз рдбреЗрдЯрд╛рдмреЗрд╕ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:

>show dbs

admin

local

>db.version()

1.4.2

>db.stats()

{

"collections" : 0,

"objects" : 0,

"dataSize" : 0,

"storageSize" : 0,

"numExtents" : 0,

"indexes" : 0,

"indexSize" : 0,

"ok" : 1

}



* This source code was highlighted with Source Code Highlighter .








рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣

MongoDB рдмреНрд░рд╣реНрдорд╛рдВрдб рдореЗрдВ, рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рдПрдХ "рд╕рдВрдЧреНрд░рд╣" рд╣реИред рдЬрд┐рд╕ рддрд░рд╣ рдЯреЗрдмрд▓ рдореЗрдВ рдХрдИ рд░рд┐рдХреЙрд░реНрдб рд╣реЛрддреЗ рд╣реИрдВ, рдЙрд╕реА рддрд░рд╣ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдХрдИ "рджрд╕реНрддрд╛рд╡реЗрдЬ" рд╣реЛрддреЗ рд╣реИрдВред рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ JSON рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде, рдФрд░ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП BSON (рдмрд╛рдЗрдирд░реА JSON) рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд (рдХреНрд░рдордмрджреНрдз)ред рдиреАрдЪреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

{

"рдСрд░реНрдбрд░рдбреЗрдЯ": "10-05-2010",

"рдСрд░реНрдбрд░рдЯреЛрдЯрд▓": 468.99,

}

рдЪреВрдВрдХрд┐ MongoDB рдХрд╛ рдореБрдЦреНрдп рддрддреНрд╡ рдПрдХ JSON рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ, рдФрд░ JSON рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ BSON рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, MongoDB рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрд▓рдЧреНрди рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

{

"рдСрд░реНрдбрд░рдбреЗрдЯ": "10-05-2010",

"рдСрд░реНрдбрд░рдЯреЛрдЯрд▓": 468.99,

┬лShipTo┬╗:

{

"рд╕реНрдЯреНрд░реАрдЯ": "17 рд╣рд┐рд▓ рд╡реНрдпреВ",

"рдЬрд┐рдк": "12345",

"рджреЗрд╢": "рдпреВрдПрд╕"

}

}

рдПрдХ рдирдпрд╛ MongoDB рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдЪрд▓рд╛рдПрдВ рдФрд░ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ, рдЬреЛ рдЖрдЗрдЯрдо рдирд╛рдордХ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рдПрдЧрд╛ "рдФрд░ рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреЛрдбрд╝реЗрдВ:





  1. > db.itemsред рдбрд╛рд▓реЗрдВ ({рдирд╛рдо: 'рдЕрдВрдбреЗ' , рдорд╛рддреНрд░рд╛: 10, рдореВрд▓реНрдп: 1.50})
  2. > db.itemsред рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ ({рдирд╛рдо: 'рдмреЗрдХрди' , рдорд╛рддреНрд░рд╛: 3, рдореВрд▓реНрдп: 3.50})
  3. > db.itemsред рдбрд╛рд▓реЗрдВ ({рдирд╛рдо: 'рдЯрдорд╛рдЯрд░' , рдорд╛рддреНрд░рд╛: 30, рдореВрд▓реНрдп: 0.50})
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдЖрдЧреЗ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реБрдП, рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдЕрдиреБрд╕рд╛рд░ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреЛрдбрд╝реЗрдВред рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдЦреЛрдЬ () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ:





  1. > db.items.find ({})
  2. {"_id": ObjectId ("4bea15293302000000006dcf"), "рдирд╛рдо": "рдЕрдВрдбреЗ", "рдорд╛рддреНрд░рд╛": 10, "рдореВрд▓реНрдп": 1.5}
  3. {"_id": ObjectId ("4bea15463302000000006dd0"), "рдирд╛рдо": "рдмреЗрдХрди", "рдорд╛рддреНрд░рд╛": 3, "рдореВрд▓реНрдп": 3.5}
  4. {"_id": ObjectId ("4bea15523302000000006dd1"), "рдирд╛рдо": "рдЯрдорд╛рдЯрд░", "рдорд╛рддреНрд░рд╛": 30, "рдореВрд▓реНрдп": 0.5
  5. }
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреБрдВрдЬреА '_id' рд╣реИред рдЬрдм рдЖрдк рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ MongoDB рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдСрдЯреЛ-рдЗрдиреНрдХреНрд░реАрдореЗрдВрдЯ рдХреБрдВрдЬреА рд╣реИред

рдХрд┐рд╕реА рднреА рдорд╛рдирджрдВрдб рджреНрд╡рд╛рд░рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдорд╛рдирджрдВрдб рдХреЛ (JSON рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ) рдЦреЛрдЬ () рд╡рд┐рдзрд┐ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ 9 рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдорд╛рддреНрд░рд╛ рдФрд░ 1 рд╕реЗ рдХрдо рдХреАрдордд рдХреЗ рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдб рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ:





  1. > db.items.find ({рдорд╛рддреНрд░рд╛: {$ gt: 9}, рдореВрд▓реНрдп: {$ lt: 1}})
  2. {"_id": ObjectId ("4bea15523302000000006dd1"), "рдирд╛рдо": "рдЯрдорд╛рдЯрд░", "рдорд╛рддреНрд░рд╛": 30, "рдореВрд▓реНрдп": 0.5
  3. }
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдЕрдм php рдореЗрдВ рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ!



рд╣реБрдХрд┐рдВрдЧ рдХреА рдмрд╛рддреЗрдВ

PHP рдХрд╛ MongoDB рд╕рдорд░реНрдерди рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ MongoDB рд╕рдВрдЧреНрд░рд╣ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╕реНрддрд╛рд░ рдХреНрд░рд┐рд╕реНрдЯреАрдирд╛ рдЪреЛрдбреЛрд░реЛ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрдкрд╛рдЪреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд PECL рдкрд░ рдореБрдлреНрдд рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╡рд┐рд╕реНрддрд╛рд░ рд╕реНрдерд┐рд░ рд╣реИ рдФрд░ рдЖрдкрдХреЛ PHP рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ MongoDB рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЗрд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдорд╛рдирдХ pecl рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ

рдЦреЛрд▓> pecl mongo рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

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

рдЦреЛрд▓> рдЯрд╛рд░ -xzvf рдореЛрдВрдЧреЛ-1.0.7.tar.gz

рдЦреЛрд▓> рд╕реАрдбреА рдореЛрдВрдЧреЛ-1.0.7

рдЦреЛрд▓> phpize

рдЦреЛрд▓> ./configure

рдЦреЛрд▓> рдмрдирд╛

рдЦреЛрд▓> рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп PHP рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдЬрд┐рд╕реЗ mongo.so рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ PHP рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рдЗрд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ php.ini рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рдЗрд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ phpinfo () рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪреЗрдВ:





рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЗрд╕ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ





  1. <? php
  2. рдХреЛрд╢рд┐рд╢ рдХрд░реЛ {
  3. // MongoDB рд╕рд░реНрд╡рд░ рд╕реЗ рдЦреБрд▓рд╛ рдХрдиреЗрдХреНрд╢рди
  4. $ рдХреЙрди = рдирдпрд╛ рдореЛрдВрдЧреЛ ( 'рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ' );
  5. // рдПрдХреНрд╕реЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕
  6. $ db = $ con-> рдкрд░реАрдХреНрд╖рдг;
  7. // рдкрд╣реБрдВрдЪ рд╕рдВрдЧреНрд░рд╣
  8. $ рд╕рдВрдЧреНрд░рд╣ = $ db-> рдЖрдЗрдЯрдо;
  9. // рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
  10. // рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
  11. $ рдХрд░реНрд╕рд░ = $ рд╕рдВрдЧреНрд░рд╣-> рдорд┐рд▓ ();
  12. // рдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддрд┐
  13. // рдкреНрд░рддреНрдпреЗрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
  14. рдЗрдХреЛ $ рдХрд░реНрд╕рд░-> рдЧрд┐рдирддреА ()ред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ (рдУрдВ) рдХреЛ рдорд┐рд▓рд╛ред <br/> ' ;
  15. foreach ($ obj рдХреЗ рд░реВрдк рдореЗрдВ $ рдХрд░реНрд╕рд░) {
  16. рдЧреВрдВрдЬ 'рдирд╛рдо:' ред $ obj [ 'рдирд╛рдо' ]ред '<br/>' ;
  17. рдЧреВрдВрдЬ 'рдорд╛рддреНрд░рд╛:' ред $ obj [ 'рдорд╛рддреНрд░рд╛' ]ред '<br/>' ;
  18. рдЧреВрдВрдЬ 'рдореВрд▓реНрдп:' ред $ obj [ 'рдХреАрдордд' ]ред '<br/>' ;
  19. рдЧреВрдВрдЬ '<br/>' ;
  20. }
  21. // рд╕рд░реНрд╡рд░ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ
  22. $ рдХреЙрди-> рдХрд░реАрдм ();
  23. } рдХреИрдЪ (MongoConnectionException $ e) {
  24. рдорд░реЛ ( 'MongoDB рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐' );
  25. } рдХреИрдЪ (MongoException $ e) {
  26. die ( 'рдПрд░рд░:' ' $ e-> getMessage ());
  27. }
  28. ?>
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдПрдХ рдирдпрд╛ Mongo рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ MongoDB рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реЛрд╕реНрдЯ рдирд╛рдо) рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ MongoDB рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рднреА рдмрд╛рдж рдХреЗ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдЧрд▓рд╛ рдХрджрдо рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рдпрд╣ рд╕рд┐рд▓реЗрдХреНрдЯрдбреАрдбреАрдмреА () рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЕрдзрд┐рдХ, рдмрд╕ рдореИрдЬрд┐рдХ рдХреЙрд▓ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВред рдПрдХ рдмрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╕рд┐рд▓реЗрдХреНрд╢рди () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рдореИрдЬрд┐рдХ рдХреЙрд▓ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдЧреНрд░рд╣ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рд╕рдВрдЧреНрд░рд╣ MongoCollection рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдкреНрд░рддреНрдпреЗрдХ MongoCollection рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдЦреЛрдЬ () рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдзрд┐ рджреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреА рд╣реИ: рдЕрдиреБрд░реЛрдз рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдПрдХ рд╕рд░рдгреА рдФрд░ рдлрд╝реАрд▓реНрдб рдХреА рдПрдХ рд╕рд░рдгреА рдЬреЛ рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ MongoCursor рдСрдмреНрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рдХрд░реНрд╕рд░ рд╣реИред MongoCursor рдкреНрд░рдХрд╛рд░ Iterator рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдлреЙрд░рдЪреЗрдХ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реЗ рд▓реМрдЯреЗ рд╕реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЖрд╕рд╛рди рд╣реИред MongoCursor рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдПрдХ рдЧрдгрдирд╛ () рд╡рд┐рдзрд┐ рд╣реЛрддреА рд╣реИ рдЬреЛ рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддреА рд╣реИред

PHP рдПрдХреНрд╕рдЯреЗрдВрд╢рди Mongo PHP 5.x рдореЗрдВ рд▓рд╛рдЧреВ рдЕрдкрд╡рд╛рдж рдореЙрдбрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ 5 рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ: рдХрдиреЗрдХреНрд╢рди-рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП MongoConnectionException, MongoCursorException рдФрд░ MongoCursorTimeoutException рдЕрдиреБрд░реЛрдз-рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП; рдлрд╝рд╛рдЗрд▓ рдЗрдВрдЯрд░реИрдХреНрд╢рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП MongoGridFSException; рдФрд░ рдЕрдиреНрдп рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП MongoExceptionред рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХреЛрдб рдХреЛ рдХреЛрд╢рд┐рд╢ / рдХреИрдЪ рдмреНрд▓реЙрдХ рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ред

рдиреАрдЪреЗ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:





рдЬреЛрдбрд╝ рдФрд░ рдШрдЯрд╛рд╡

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

<?php

try {

// open connection to MongoDB server

$conn = new Mongo( 'localhost' );



// access database

$db = $conn->test;



// access collection

$collection = $db->items;



// insert a new document

$item = array(

'name' => 'milk' ,

'quantity' => 10,

'price' => 2.50,

'note' => 'skimmed and extra tasty'

);

$collection->insert($item);

echo 'Inserted document with ID: ' . $item[ '_id' ];



// disconnect from server

$conn->close();

} catch (MongoConnectionException $e) {

die( 'Error connecting to MongoDB server' );

} catch (MongoException $e) {

die( 'Error: ' . $e->getMessage());

}

?>



* This source code was highlighted with Source Code Highlighter .






рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдПрдХ рдирдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рд╕рд░рдгреА рдмрдирд╛рдПрдБ рдЬрд┐рд╕рдореЗрдВ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реА рд╣реЛ рдЬрд┐рд╕реЗ рдЖрдк рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рддрдВрддреНрд░ рдиреЗрд╕реНрдЯреЗрдб рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдореНрдмреЗрдбреЗрдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ) рдФрд░ рдЗрд╕ рд╕рд░рдгреА рдХреЛ MongoCilllection рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдореНрдорд┐рд▓рд┐рдд рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рдзрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧреА рдФрд░ '_id' (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛) рдорд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдЧреА, рдЬрд┐рд╕реЗ рдореВрд▓ рд╕рд░рдгреА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреЗ MongoId рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдПрдХ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдмрд┐рдирд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:





рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕рдВрдЧреНрд░рд╣ () рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирджрдВрдбреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрди рдорд╛рдирджрдВрдбреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рд╣рдЯрд╛рдПрдВ () рдкреНрд░рдХрд╛рд░ рдХрд╛ рдореВрд▓реНрдп рдмреВрд▓рд┐рдпрди (рд╕рдЪреНрдЪрд╛ рдпрд╛ рдЧрд▓рдд) рджреЗрддрд╛ рд╣реИ; рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ 'рд╕реБрд░рдХреНрд╖рд┐рдд' рддрд░реНрдХ рдХреЛ рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╣рдЯрд╛рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рд╣рд┐рдд рдХрдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рдорд┐рд▓реЗрдЧреАред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

<?php

try {

// open connection to MongoDB server

$conn = new Mongo( 'localhost' );



// access database

$db = $conn->test;



// access collection

$collection = $db->items;



// remove a document

$criteria = array(

'name' => 'milk' ,

);

$r = $collection->remove($criteria, array( 'safe' => true ));

echo 'Removed ' . $r[ 'n' ] . ' document(s).' ;



// disconnect from server

$conn->close();

} catch (MongoConnectionException $e) {

die( 'Error connecting to MongoDB server' );

} catch (MongoException $e) {

die( 'Error: ' . $e->getMessage());

}

?>



* This source code was highlighted with Source Code Highlighter .






рдЗрд╕рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╣рдЯрд╛рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, MongoId рдореЗрдердб рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╣рдЯрд╛рдиреЗ () рдореЗрдердб рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ PHP рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

<?php

try {

// open connection to MongoDB server

$conn = new Mongo( 'localhost' );



// access database

$db = $conn->test;



// access collection

$collection = $db->items;



// remove a document by ID

$criteria = array(

'_id' => new MongoId( '4bea96b400f4784c0a070000' ),

);

$collection->remove($criteria);

echo 'Removed document with ID: ' . $criteria[ '_id' ];



// disconnect from server

$conn->close();

} catch (MongoConnectionException $e) {

die( 'Error connecting to MongoDB server' );

} catch (MongoException $e) {

die( 'Error: ' . $e->getMessage());

}

?>



* This source code was highlighted with Source Code Highlighter .






рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЕрдкрдбреЗрдЯ () рд╡рд┐рдзрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

<?php

try {

// open connection to MongoDB server

$conn = new Mongo( 'localhost' );



// access database

$db = $conn->test;



// access collection

$collection = $db->items;



// retrieve existing document

$criteria = array(

'name' => 'eggs' ,

);

$doc = $collection->findOne($criteria);



// update document with new values

// save back to collection

$doc[ 'name' ] = 'apples' ;

$doc[ 'quantity' ] = 35;

$doc[ 'note' ] = 'green apples taste sooooo good!' ;

$collection->save($doc);



// disconnect from server

$conn->close();

} catch (MongoConnectionException $e) {

die( 'Error connecting to MongoDB server' );

} catch (MongoException $e) {

die( 'Error: ' . $e->getMessage());

}

?>



* This source code was highlighted with Source Code Highlighter .






рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдЧрд░ findOne () рдХреБрдЫ рдирд╣реАрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЙрд▓рд┐рдВрдЧ рд╕реЗрд╡ () рдПрдХ рдирдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред

рд╕рд╡рд╛рд▓ рдкреВрдЫрдирд╛

рдЬрдм рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ MongoDB рдПрдХ рдХрд╛рдлреА рд▓рдЪреАрд▓рд╛ рдЯреВрд▓рдХрд┐рдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЦреЛрдЬ () рд╡рд┐рдзрд┐ рджреЗрдЦреА рд╣реИ, рдЬреЛ рдЦреЛрдЬ рдорд╛рдирджрдВрдбреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдПрдХ рдЦреЛрдЬрдХ () рд╡рд┐рдзрд┐ рднреА рд╣реИ рдЬреЛ рдПрдХрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓реМрдЯрд╛рддреА рд╣реИред рдЖрдк рдХрдИ рдЦреЛрдЬ рдорд╛рдирджрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЦреЛрдЬ рдорд╛рдирджрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ () рдпрд╛ findOne () рдХреЗ рд▓рд┐рдП рд╕рд░рдгреА рдкрд╛рд╕ рдХрд░реЗрдВ рдФрд░ MongoDB рдпреЗ рд╕рднреА рдорд╛рдирджрдВрдб рдФрд░ рд╕рдВрд╢реЛрдзрди рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рд╣реЛрдВрдЧреЗред

рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

<?php

try {

// open connection to MongoDB server

$conn = new Mongo( 'localhost' );



// access database

$db = $conn->test;



// access collection

$collection = $db->items;



// formulate AND query

$criteria = array(

'quantity' => 30,

'price' => 0.5

);



// retrieve only 'name' and 'price' keys

$fields = array( 'name' , 'price' );



// execute query

$cursor = $collection->find($criteria, $fields);



// iterate through the result set

// print each document

echo $cursor->count() . ' document(s) found. <br/>' ;

foreach ($cursor as $obj) {

echo 'Name: ' . $obj[ 'name' ] . '<br/>' ;

echo 'Price: ' . $obj[ 'price' ] . '<br/>' ;

echo '<br/>' ;

}



// disconnect from server

$conn->close();

} catch (MongoConnectionException $e) {

die( 'Error connecting to MongoDB server' );

} catch (MongoException $e) {

die( 'Error: ' . $e->getMessage());

}

?>



* This source code was highlighted with Source Code Highlighter .






MongoDB рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рд╢рд░реНрдд рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ 10 рдФрд░ 50 рдХреЗ рдмреАрдЪ рдХреА рд░рд╛рд╢рд┐ рдХреЗ рд╕рд╛рде рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рдЬрд┐рдирдХреЗ рдирд╛рдо 'es' рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ:

<?php

try {

// open connection to MongoDB server

$conn = new Mongo( 'localhost' );



// access database

$db = $conn->test;



// access collection

$collection = $db->items;



// formulate complex query

$criteria = array(

'quantity' => array(

'$gt' => 10,

'$lt' => 50

),

'name' => new MongoRegex( '/es$/i' )

);



// execute query

$cursor = $collection->find($criteria);



// iterate through the result set

// print each document

echo $cursor->count() . ' document(s) found. <br/>' ;

foreach ($cursor as $obj) {

echo 'Name: ' . $obj[ 'name' ] . '<br/>' ;

echo 'Quantity: ' . $obj[ 'quantity' ] . '<br/>' ;

echo 'Price: ' . $obj[ 'price' ] . '<br/>' ;

echo '<br/>' ;

}



// disconnect from server

$conn->close();

} catch (MongoConnectionException $e) {

die( 'Error connecting to MongoDB server' );

} catch (MongoException $e) {

die( 'Error: ' . $e->getMessage());

}

?>



* This source code was highlighted with Source Code Highlighter .






рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛:





рдЖрдк рд▓реМрдЯреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рд╕реАрдорд╛ () рдФрд░ рд╕реЙрд░реНрдЯ () рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡рд╢реНрдпрдХ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

<?php

try {

// open connection to MongoDB server

$conn = new Mongo( 'localhost' );



// access database

$db = $conn->test;



// access collection

$collection = $db->items;



// execute query

// sort by price

// limit to 3 documents

$cursor = $collection->find();

$cursor->sort(array( 'price' => 1))->limit(3);



// iterate through the result set

// print each document

echo $cursor->count() . ' document(s) found. <br/>' ;

foreach ($cursor as $obj) {

echo 'Name: ' . $obj[ 'name' ] . '<br/>' ;

echo 'Quantity: ' . $obj[ 'quantity' ] . '<br/>' ;

echo 'Price: ' . $obj[ 'price' ] . '<br/>' ;

echo '<br/>' ;

}



// disconnect from server

$conn->close();

} catch (MongoConnectionException $e) {

die( 'Error connecting to MongoDB server' );

} catch (MongoException $e) {

die( 'Error: ' . $e->getMessage());

}

?>



* This source code was highlighted with Source Code Highlighter .






рд╡реИрд╕реЗ, рдпрджрд┐ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ MongoDB рдЕрдВрджрд░ рдХрд┐рд╕реА рдХреНрд╡реЗрд░реА рдХреЛ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдХреНрд╡реЗрд░реА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП "MySQL рдХреЗ рдЕрдВрджрд░ рджреЗрдЦреЛ" рдХреЗ рд╕рдорд╛рди MongoCursor рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ MySQL EXPLAIN рдХрдорд╛рдВрдб рдХреЗ рд╕рдорд╛рди рд╣реИред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░рд┐рдгрд╛рдо рд╣реИ:

<?php

try {

// open connection to MongoDB server

$conn = new Mongo( 'localhost' );



// access database

$db = $conn->test;



// access collection

$collection = $db->items;



// execute and explain query

$criteria = array(

'quantity' => array(

'$gt' => 10,

'$lt' => 50

),

'name' => new MongoRegex( '/es$/i' )

);

$cursor = $collection->find($criteria);

$cursor->sort(array( 'price' => 1))->limit(3);

print_r($cursor->explain());



// disconnect from server

$conn->close();

} catch (MongoConnectionException $e) {

die( 'Error connecting to MongoDB server' );

} catch (MongoException $e) {

die( 'Error: ' . $e->getMessage());

}

?>



* This source code was highlighted with Source Code Highlighter .










рд░реИрдВрдХ рдФрд░ рдлрд╛рдЗрд▓

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

GridFS рдмрдВрдЯрд╡рд╛рд░реЗ рдФрд░ MongoDB рдореЗрдВ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╣реИред рдЖрдорддреМрд░ рдкрд░, GridFS рджреЛ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ: 'рдлрд╛рдЗрд▓реЗрдВ' рд╕рдВрдЧреНрд░рд╣, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ 'рд╡рд┐рдЦрдВрдбреВ' рд╕рдВрдЧреНрд░рд╣, рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рдЦрдВрдбреВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред 'рдлрд╛рдЗрд▓' рд╕рдВрдЧреНрд░рд╣ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ, рдЬреЛ рдореЛрдВрдЧреЛрдмреАрдбреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЕрдиреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдорд╛рди рд╣реИ; рдЗрд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдпрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



MongoDB PECL рдПрдХреНрд╕рдЯреЗрдВрд╢рди MongoGridFS рдХреНрд▓рд╛рд╕реЗрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ GridFS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╣реЗрдЬреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ MongoGridFSFile рд╡рд░реНрдЧ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ MongoGridFS рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ, рд╣рдЯрд╛рдиреЗ рдФрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред



рдПрдХ рдмреЗрд╣рддрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬреЛ MongoDB рдореЗрдВ рдПрдХ рдЫрд╡рд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:

<?php

try {

// open connection to MongoDB server

$conn = new Mongo( 'localhost' );



// access database

$db = $conn->test;



// get GridFS files collection

$gridfs = $db->getGridFS();



// store file in collection

$id = $gridfs->storeFile( '/tmp/img_2312.jpg' );

echo 'Saved file with ID: ' . $id;



// disconnect from server

$conn->close();

} catch (MongoConnectionException $e) {

die( 'Error connecting to MongoDB server' );

} catch (MongoException $e) {

die( 'Error: ' . $e->getMessage());

}

?>



* This source code was highlighted with Source Code Highlighter .






рдЙрджрд╛рд╣рд░рдг рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, MongoDB рд╡рд░реНрдЧ рдХреА getGridFS () рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ MongoGridFS рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕реНрдЯреЛрд░рдлрд╛рдЗрд▓ () рд╡рд┐рдзрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ MongoDB рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рджреЛ рдирдП рд╕рдВрдЧреНрд░рд╣ 'fs.files' рдФрд░ 'fs.chunks' рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред рдпрджрд┐ рдЖрдк 'fffiles' рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝реА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рджреЗрдЦреЗрдВрдЧреЗред

> show collections

fs.chunks

fs.files

items

system.indexes

> db.fs.files.find()

{ "_id" : ObjectId( "4beaa34f00f4784c0a300000" ), "filename" : "/tmp/img_2312.jpg" , "uploadDate" : "Wed May 12 2010 18:17:11 GMT+0530 (India Standard Time)" , "length" : 11618, "chunkSize" : 262144, "md5" : "e66b9a33c7081ae2e4fff4c37f1f756b" }



* This source code was highlighted with Source Code Highlighter .






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

рдиреАрдЪреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

<html>

<head></head>

<body>

<form method= "post" enctype= "multipart/form-data" >

Select file for upload:

<input type= "file" name= "f" />

<input type= "submit" name= "submit" />

</form>

<?php

if (isset($_POST[ 'submit' ])) {

try {

// open connection to MongoDB server

$conn = new Mongo( 'localhost' );



// access database

$db = $conn->test;



// get GridFS files collection

$gridfs = $db->getGridFS();



// check uploaded file

// store uploaded file in collection and display ID

if (is_uploaded_file($_FILES[ 'f' ][ 'tmp_name' ])) {

$id = $gridfs->storeUpload( 'f' );

echo 'Saved file with ID: ' . $id;

} else {

throw new Exception( 'Invalid file upload' );

}



// disconnect from server

$conn->close();

} catch (MongoConnectionException $e) {

die( 'Error connecting to MongoDB server' );

} catch (Exception $e) {

die( 'Error: ' . $e->getMessage());

}

}

?>

</body>

</html>



* This source code was highlighted with Source Code Highlighter .






рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдлрд╛рдЗрд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ? рдмреЗрд╢рдХ, рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (MongoGridFS MongoCollection рдХрд╛ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк MongoGridFSFile рд╡рд░реНрдЧ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ find () рдФрд░ findOne ()) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рд▓рд┐рдЦрдиреЗ () рд╡рд┐рдзрд┐, рдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛ рддреЛ getBytes () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ!

рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

<?php

try {

// open connection to MongoDB server

$conn = new Mongo( 'localhost' );



// access database

$db = $conn->test;



// get GridFS files collection

$grid = $db->getGridFS();



// retrieve file from collection

$file = $grid->findOne(array( '_id' => new MongoId( '4beaa34f00f4784c0a300000' )));



// send headers and file data

header( 'Content-Type: image/jpeg' );

echo $file->getBytes();

exit;



// disconnect from server

$conn->close();

} catch (MongoConnectionException $e) {

die( 'Error connecting to MongoDB server' );

} catch (MongoException $e) {

die( 'Error: ' . $e->getMessage());

}

?>



* This source code was highlighted with Source Code Highlighter .








рд▓рдбрд╝рдХреЛрдВ рдФрд░ рдЙрдирдХреЗ рдЦрд┐рд▓реМрдиреЗ

рд╣рд╛рд▓рд╛рдВрдХрд┐ PECL рдПрдХреНрд╕рдЯреЗрдВрд╢рди MongoDB MongoDB рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреА рдЕрдореВрд░реНрддрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк MongoDB рдХреЛ рдПрдХ рдореМрдЬреВрджрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдлреНрд░реЗрдорд╡рд░реНрдХ-рдЖрдзрд╛рд░рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди) рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдореЙрд░реНрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, "MongoDB рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп," рдЬреЛ GNU LPL рдХреЗ рддрд╣рдд рдореБрдлреНрдд рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред



рдореЙрд░реНрдл рдХреЛ рдПрдХ ActiveRecord рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдореБрдЦреНрдп Morph_Object рдХреНрд▓рд╛рд╕ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдПрдХ MongoDB рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╡рд░рдг рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред Morph_Object рдХреНрд▓рд╛рд╕ рдХреЗ рдпреЗ рдЙрджрд╛рд╣рд░рдг рд╕реАрдзреЗ MongoDB рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рд╕реЗ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЗрдирдореЗрдВ рд╕рдорд╛рди рдЧреБрдг рдФрд░ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдорд╛рдирдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк рдПрдХ рдЦрд┐рд▓реМрдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рдирд╛рдо, рд╡рд┐рд╡рд░рдг, рд╡рд┐рд╡рд░рдг, рдмрдЪреНрдЪреЗ рдХреА рдЙрдореНрд░, рд▓рд┐рдВрдЧ рдХреА рдЙрдкрдпреБрдХреНрддрддрд╛ рдФрд░ рдореВрд▓реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЖрдк рдЗрд╕ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ Morph_Object рдХреНрд▓рд╛рд╕ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

<?php

class Toy extends Morph_Object {



public function __construct($id = null )

{

parent::__construct($id);

$ this ->addProperty( new Morph_Property_String( 'name' ))

->addProperty( new Morph_Property_String( 'colors' ))

->addProperty( new Morph_Property_Integer( 'minAge' ))

->addProperty( new Morph_Property_Integer( 'maxAge' ))

->addProperty( new Morph_Property_Enum( 'gender' , null , array( 'boys' , 'girls' , 'both' )))

->addProperty( new Morph_Property_Float( 'price' ));

}

}

?>



* This source code was highlighted with Source Code Highlighter .






рдЕрдм рдЖрдк рдЯреЙрдп рдХреНрд▓рд╛рд╕ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдирдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЧреБрдг рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реЗрд╡ () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

<?php

require_once 'Morph.phar' ;



// initialize MongoDB connection

$mongo = new Mongo( 'localhost' );



// select database for storage

$storage = Morph_Storage::init($mongo->selectDb( 'test' ));



// create object and set properties

$toy = new Toy();

$toy->name = 'Ride Along Fire Engine' ;

$toy->colors = 'red,yellow' ;

$toy->minAge = '2' ;

$toy->maxAge = '4' ;

$toy->gender = 'both' ;

$toy->price = 145.99;



// save to database

$storage->save($toy);

echo 'Document saved with ID: ' . $toy->id();

?>



* This source code was highlighted with Source Code Highlighter .






рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╡рд╕реНрддреБ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред

<?php

require_once 'Morph.phar' ;



// initialize MongoDB connection

$mongo = new Mongo( 'localhost' );



// select database for storage

$storage = Morph_Storage::init($mongo->selectDb( 'test' ));



// create object and set properties

$toy = new Toy();

$toy->loadById( '5421d0b9fc6217c5bb929baa14a97e08' );

$toy->name = 'Jumping Squid' ;

$toy->colors = 'red,orange,green,blue,yellow' ;

$toy->minAge = '2' ;

$toy->maxAge = '10' ;

$toy->gender = 'boys' ;

$toy->price = 22.99;



// save to database

$storage->save($toy);

echo 'Document saved with ID: ' . $toy->id();

?>



* This source code was highlighted with Source Code Highlighter .








рдпреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдг рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ - MongoDB рдПрдХ рд╕реНрдХреАрдорд╛ рдореБрдХреНрдд DBMS рдХрд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп, рд╕реБрд╡рд┐рдзрд╛ рд╕рдВрдкрдиреНрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдкрд╣реБрдВрдЪ, PHP рдФрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рди рдПрдХреАрдХрд░рдг, рдФрд░ рд╡реНрдпрд╛рдкрдХ рдкреНрд░рд▓реЗрдЦрди (рдкреНрд▓рд╕ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдСрдирд▓рд╛рдЗрди рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╡рд┐рдХрд▓реНрдк) рдПрдХ рдЖрдзреБрдирд┐рдХ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рдЙрдиреНрдореБрдЦ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MongoDB рдХреЛ рдЖрджрд░реНрд╢ рдмрдирд╛рддреЗ рд╣реИрдВред



All Articles