findOneAndUpdate
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ findAndModify
рдХреЗ рдмрдЬрд╛рдп findOneAndUpdate рдХреЗ рд╣реБрдб рдХреЗ рддрд╣рдд рдХреНрдпреЛрдВ рд╣реИ?
рдореБрдЭреЗ рдкреНрд░реЛрдЬреЗрдХреНрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ findAndModifiy
рдРрд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдпрд╣ рдкреВрд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЬреИрд╕реЗ:
Product
.findOneAndUpdate({
_id: productId,
}, {
$push: {colors: data},
}, {
projection: {
name: 1, 'colors.$': 1,
},
returnNewDocument: true,
})
рдХреНрдпреЛрдВрдХрд┐ рдиреЗрд╡рд▓рд╛ рдХрд╛ findOneAndUpdate()
рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд mongodb рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ findOneAndUpdate()
рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛ рд╣реИ, рдФрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ findOneAndUpdate()
findAndModify
рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╕рд┐рд░реНрдл рдПрдХ рдкрддрд▓рд╛ рдЖрд╡рд░рдг рд╣реИред рд╕рд╛рде рд╣реА, рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ findOneAndUpdate()
рдореЗрдВ рдХрдИ рд╡рд┐рдЪрд┐рддреНрд░ рд╢рдмреНрджрд╛рд░реНрде рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ new
рд╡рд┐рдХрд▓реНрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдФрд░ new
рдФрд░ returnNewDocument
рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░, рдЬреЛ рдиреЗрд╡рд▓реЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рдиреА рднрд░рд╛ рд╣реИред
рдЕрдиреБрдорд╛рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╕рд╛ рд╣реИред 'рдкреНрд░реЛрдЬреЗрдХреНрд╢рди' рдХреЗ рдмрдЬрд╛рдп 'рдлрд╝реАрд▓реНрдб' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╣ рдирд╛рдо рд╣реИ рдЬреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд findAndModify
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рд╛рдВ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдирд╛рдордХрд░рдг рдореЗрдВ рдХреБрдЫ рдЕрдЬреАрдм рдЕрдВрддрд░ рдереЗ, рдЬреИрд╕реЗ fields
рдмрдирд╛рдо projection
рдФрд░ new
рдмрдирд╛рдо returnNewDocument
ред
рд╣рд╛рдБ, рд╡рд╣рд╛рдБ рдереЛрдбрд╝рд╛ рднреНрд░рдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдПрдкреАрдЖрдИ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рд╢реЗрд╖ рд╕реНрдиреЛрдлреНрд▓реЗрдХ рдмрдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ :) рдЕрдм рдЬрдм рдореЛрдВрдЧреЛрдбрдм рдбреНрд░рд╛рдЗрд╡рд░ рдиреЗ рдПрдХ findOneAndUpdate()
рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕рдХреА рдЕрдкрдиреА рд╡рд┐рдЪрд┐рддреНрд░рддрд╛рдПрдВ рд╣реИрдВ, рдЕрднреА рддрдХ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдиреЗрд╡рд▓рд╛ рдХреЗ рдлрд╛рдЗрдирдСрдирдПрдВрдбрдЕрдкрдбреЗрдЯ рдкрд░ рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рд╣реИ ( )
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╣рд╛рдБ, рд╡рд╣рд╛рдБ рдереЛрдбрд╝рд╛ рднреНрд░рдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдПрдкреАрдЖрдИ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рд╢реЗрд╖ рд╕реНрдиреЛрдлреНрд▓реЗрдХ рдмрдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ :) рдЕрдм рдЬрдм рдореЛрдВрдЧреЛрдбрдм рдбреНрд░рд╛рдЗрд╡рд░ рдиреЗ рдПрдХ
findOneAndUpdate()
рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕рдХреА рдЕрдкрдиреА рд╡рд┐рдЪрд┐рддреНрд░рддрд╛рдПрдВ рд╣реИрдВ, рдЕрднреА рддрдХ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдиреЗрд╡рд▓рд╛ рдХреЗ рдлрд╛рдЗрдирдСрдирдПрдВрдбрдЕрдкрдбреЗрдЯ рдкрд░ рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рд╣реИ ( )