Heim  >  Artikel  >  Web-Frontend  >  Zwei Möglichkeiten, Objekte in Mungo zu aktualisieren

Zwei Möglichkeiten, Objekte in Mungo zu aktualisieren

小云云
小云云Original
2017-12-20 09:23:342110Durchsuche

Mongoose ist ein Objektmodell-Tool, das praktische Vorgänge für Mongodb in der asynchronen Umgebung von node.js ausführt. Kürzlich habe ich bei der Verwendung von Mongoose einen Wissenspunkt entdeckt, auf den ich zuvor nicht geachtet hatte Diese Methode wird anhand von Beispielcodes im Detail verglichen, um allen bedürftigen Freunden eine bessere Referenz zu geben. Ich hoffe, es hilft allen.

Um es zu verwenden, müssen Sie zuerst node.js und mongodb installieren. Eine Einführung in die Installation und den Betrieb von mongodb finden Sie unter:

Beschreiben Sie das Szenario

Aktualisieren Sie die Warenkorbmenge und prüfen Sie den Status

Geschäftslogik

Fragen Sie das Warenkorbobjekt „Cart“ des aktuellen Benutzers ab und aktualisieren Sie die Menge und die ausgewählten Felder am Frontend übergeben

Methode 1

var _ = require('underscore');
Cart.findOneAndUpdate({
 _id: req.body.cart._id,
 user: user
 }, _.pick(req.body.cart, 'quantity', 'selected'), {
 new: true
 },
 function(err, updatedCart) {
 res.send(
  utils.json({
  data: updatedCart
  })
 );
 }
);

Hinweis: _.pick entspricht

 {
 quantity: req.body.cart.quantity,
 selected: req.body.cart.selected
 }

Methode 2

var _ = require('underscore');
Cart.findOne({
 _id: req.body.cart._id,
 user: user
 }, function(err, cart) {
 if (err) {
  console.log(err);
 }
 // 复制对象
 _.extend(cart, req.body.cart);
 cart.save(function(err, updatedCart) {
  res.send(
  utils.json({
   data: updatedCart
  })
  );
 });
 }
);

Vergleich

Der erste Codetyp verwendet findOneAndUpdate in nur einem Schritt, was prägnanter ist und sich für Szenarien eignet, in denen es nur wenige und sehr klare aktualisierte Felder gibt

Der zweite Codetyp verwendet zuerst findOne und Speichern Sie dann die Entität mithilfe des Kopierens von Unterstrichobjekten für Die gesamte Objektoperation ist flexibler und eignet sich für Szenarien mit vielen und unsicheren Feldern

Fazit

Anforderungen ändern sich ständig, daher verwende ich im Allgemeinen die zweite Methode.

Verwandte Empfehlungen:

Detaillierte Erläuterung der Implementierungsmethode für virtuelle Feldabfragen von Mongoose,

Installation und Verwendung von Mongoose mit Node .js-Betrieb MongoDB Basic Tutorial_node.js

Node.js MongoDB-Treiber Mongoose Basic Usage Tutorial_node.js

Das obige ist der detaillierte Inhalt vonZwei Möglichkeiten, Objekte in Mungo zu aktualisieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn