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!