Heim  >  Artikel  >  Web-Frontend  >  Es gibt eine detaillierte Einführung zum Aktualisieren von Objekten in Mungo

Es gibt eine detaillierte Einführung zum Aktualisieren von Objekten in Mungo

亚连
亚连Original
2018-06-19 17:35:551460Durchsuche

Vor kurzem habe ich bei der Verwendung von Mungo einen Wissenspunkt entdeckt, auf den ich vorher nicht geachtet hatte. Der folgende Artikel stellt Ihnen hauptsächlich die beiden Methoden zum Aktualisieren von Objekten in Mungo vor und vergleicht die beiden Methoden im Detail anhand von Beispielcode. Um allen eine bessere Referenz zum Lernen zu geben, können Freunde in Not darauf verweisen.

Vorwort

Mongoose ist ein Objektmodelltool für den bequemen Betrieb von Mongodb in der asynchronen Umgebung von node.js

Also 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: //www.jb51.net/article/80296.htm

Demo

Beschreiben Sie das Szenario

Aktualisieren Sie den Einkauf Warenkorbmenge und Prüfstatus

Geschäftslogik

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

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 Code verwendet findOneAndUpdate in nur einem Schritt, Dies ist prägnanter und eignet sich für neuere Szenarien mit wenigen und sehr klaren Feldern.

Die zweite Methode besteht darin, zuerst „findOne“ zu finden und dann die Entität zu speichern. Dabei wird das Kopieren von Unterstrichobjekten verwendet, um die Bedienung des gesamten Objekts flexibler zu gestalten geeignet für Szenarien mit vielen und unsicheren Feldern

Fazit

Anforderungen ändern sich ständig, daher verwende ich grundsätzlich die zweite Option.

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

So implementieren Sie die HTML-Attributbindung in Angular4

So schreiben Sie die Multiplikationstabelle mit JS

Verwendung von JS zur Berechnung des Problems beim Kauf von 100 Hühnern

Das obige ist der detaillierte Inhalt vonEs gibt eine detaillierte Einführung zum Aktualisieren von Objekten in Mungo. 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