﻿
{"id":9194,"date":"2018-08-28T12:33:04","date_gmt":"2018-08-28T12:33:04","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=9194"},"modified":"2018-08-28T12:33:04","modified_gmt":"2018-08-28T12:33:04","slug":"mongodb-guncelleme-isleminde-new-operatorunun-kullanimi","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/mongodb-guncelleme-isleminde-new-operatorunun-kullanimi\/","title":{"rendered":"MongoDB &#8211; G\u00fcncelleme \u0130\u015fleminde New Operat\u00f6r\u00fcn\u00fcn Kullan\u0131m\u0131"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>\u00d6nceki yaz\u0131lar\u0131mdan <a href=\"http:\/\/www.gencayyildiz.com\/blog\/node-js-mongodb-crud-islemleri\/\" rel=\"noopener\" target=\"_blank\">Node.js \u2013 MongoDB CRUD \u0130\u015flemleri<\/a> ba\u015fl\u0131kl\u0131 yaz\u0131mda MongoDB \u00fczerinde Mongoose mod\u00fcl\u00fc ile CRUD i\u015flemlerini incelerken g\u00fcncelleme i\u015flemininde nas\u0131l yap\u0131ld\u0131\u011f\u0131na de\u011finmi\u015ftik. Bu i\u00e7eri\u011fimizde ise g\u00fcncelleme esnas\u0131nda &#8220;new&#8221; operat\u00f6r\u00fcn\u00fcn kullan\u0131m\u0131na de\u011finece\u011fiz.<\/p>\n<p>&#8220;new&#8221; operat\u00f6r\u00fcn\u00fc izah edebilmek i\u00e7in ilk olarak hangi durumda kullan\u0131laca\u011f\u0131 daha do\u011frusu &#8220;new&#8221; operat\u00f6r\u00fcne l\u00fczum olan bir senaryoyu g\u00f6zler \u00f6n\u00fcne getirmemiz i\u00e7eri\u011fimizin mahiyetinin anla\u015f\u0131labilmesi i\u00e7in olduk\u00e7a faydal\u0131 olaca\u011f\u0131 kanaatindeyim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nconst express = require(&quot;express&quot;);\r\nconst router = express.Router();\r\n\r\nconst employeeModel = require(&quot;..\/models\/employee&quot;);\r\n\r\nrouter.get(&quot;\/list&quot;, (request, response, next) =&gt; {\r\n    employeeModel.findByIdAndUpdate(1, { name: &quot;Gen\u00e7ay&quot;&quot; }, (error, data) =&gt; response.json(data));\r\n});\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funu ele al\u0131rsak e\u011fer &#8220;1&#8221; idsine sahip verinin &#8220;name&#8221; \u00f6zelli\u011fini &#8220;Gen\u00e7ay&#8221; olarak g\u00fcncellemek istedi\u011fimizde ve bir yandan da \u00fczerinde i\u015flem yap\u0131lan veriyi elde etmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131m\u0131zda a\u015fa\u011f\u0131daki gibi neticeyle kar\u015f\u0131la\u015fmaktay\u0131z.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/08\/MongoDB-G\u00fcncelleme-\u0130\u015fleminde-New-Operat\u00f6r\u00fcn\u00fcn-Kullan\u0131m\u0131.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/08\/MongoDB-G\u00fcncelleme-\u0130\u015fleminde-New-Operat\u00f6r\u00fcn\u00fcn-Kullan\u0131m\u0131.gif\" alt=\"MongoDB - G\u00fcncelleme \u0130\u015fleminde New Operat\u00f6r\u00fcn\u00fcn Kullan\u0131m\u0131\" width=\"600\" height=\"319\" class=\"aligncenter size-full wp-image-9200\" \/><\/a><br \/>\nDikkat ederseniz e\u011fer elde edilen veri g\u00fcncellenmi\u015f son haliyle de\u011fil g\u00fcncelleme i\u015fleminden \u00f6nce veritaban\u0131nda bulundu\u011fu haliyle gelmektedir. Dolay\u0131s\u0131yla bizler yapt\u0131\u011f\u0131m\u0131z g\u00fcncellemenin neticesini direkt olarak elde etmek istiyorsak &#8220;new&#8221; operat\u00f6r\u00fc ile bu optimizeyi ger\u00e7ekle\u015ftirebilir ve g\u00fcncellemeden sonraki veriyi elde edebiliriz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nconst express = require(&quot;express&quot;);\r\nconst router = express.Router();\r\n\r\nconst employeeModel = require(&quot;..\/models\/employee&quot;);\r\n\r\nrouter.get(&quot;\/list&quot;, (request, response, next) =&gt; {\r\n    employeeModel.findByIdAndUpdate(1, { name: &quot;Mehmet&quot; }, { new: true }, (error, data) =&gt; response.json(data));\r\n});\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funu incelerseniz e\u011fer &#8220;findByIdAndUpdate&#8221; fonksiyonunun \u00fc\u00e7\u00fcnc\u00fc parametresine, &#8220;new&#8221; operat\u00f6r\u00fcne &#8220;true&#8221; de\u011feri atanm\u0131\u015f bir obje de\u011feri verirsek \u00e7al\u0131\u015fmam\u0131z a\u015fa\u011f\u0131daki gibi \u015fekillenmi\u015f olacakt\u0131r.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/08\/MongoDB-G\u00fcncelleme-\u0130\u015fleminde-New-Operat\u00f6r\u00fcn\u00fcn-Kullan\u0131m\u0131-1.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/08\/MongoDB-G\u00fcncelleme-\u0130\u015fleminde-New-Operat\u00f6r\u00fcn\u00fcn-Kullan\u0131m\u0131-1.gif\" alt=\"MongoDB - G\u00fcncelleme \u0130\u015fleminde New Operat\u00f6r\u00fcn\u00fcn Kullan\u0131m\u0131\" width=\"600\" height=\"319\" class=\"aligncenter size-full wp-image-9206\" \/><\/a><br \/>\nG\u00f6r\u00fcld\u00fc\u011f\u00fc \u00fczere art\u0131k g\u00fcncellenen veri direkt olarak elde edilebilmektedir.<\/p>\n<p>\u0130lgilenenlerin faydalanmas\u0131 dile\u011fiyle&#8230;<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, \u00d6nceki yaz\u0131lar\u0131mdan Node.js \u2013 MongoDB CRUD \u0130\u015flemleri ba\u015fl\u0131kl\u0131 yaz\u0131mda MongoDB \u00fczerinde Mongoose mod\u00fcl\u00fc ile CRUD i\u015flemlerini incelerken g\u00fcncelleme i\u015flemininde nas\u0131l yap\u0131ld\u0131\u011f\u0131na de\u011finmi\u015ftik. Bu i\u00e7eri\u011fimizde ise g\u00fcncelleme esnas\u0131nda &#8220;new&#8221; operat\u00f6r\u00fcn\u00fcn kullan\u0131m\u0131na de\u011finece\u011fiz. &#8220;new&#8221; operat\u00f6r\u00fcn\u00fc&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":8971,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2539,2145,2538],"tags":[2591,2593,2592],"class_list":["post-9194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mongodb","category-node-js","category-nosql","tag-mongodb-new-operatoru","tag-mongoose-new-operatoru","tag-new-operatoru"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/9194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=9194"}],"version-history":[{"count":11,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/9194\/revisions"}],"predecessor-version":[{"id":9208,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/9194\/revisions\/9208"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/8971"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=9194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=9194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=9194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}