Node.js MongoDB- insetsel


Voeg in versameling in

Om 'n rekord, of dokument soos dit in MongoDB genoem word, in 'n versameling in te voeg, gebruik ons ​​die insertOne()metode.

'n Dokument in MongoDB is dieselfde as 'n rekord in MySQL

Die eerste parameter van die insertOne()metode is 'n objek wat die naam(e) en waarde(s) bevat van elke veld in die dokument wat jy wil invoeg.

Dit neem ook 'n terugbelfunksie waar u met enige foute of die resultaat van die invoeging kan werk:

Voorbeeld

Voeg 'n dokument in die "kliënte"-versameling in:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myobj = { name: "Company Inc", address: "Highway 37" };
  dbo.collection("customers").insertOne(myobj, function(err, res) {
    if (err) throw err;
    console.log("1 document inserted");
    db.close();
  });
});

Stoor die kode hierbo in 'n lêer genaamd "demo_mongodb_insert.js" en voer die lêer uit:

Begin "demo_mongodb_insert.js"

C:\Users\Your Name>node demo_mongodb_insert.js

Wat vir jou hierdie resultaat sal gee:

1 document inserted

Let wel: As jy probeer om dokumente in 'n versameling in te voeg wat nie bestaan ​​nie, sal MongoDB die versameling outomaties skep.



Voeg verskeie dokumente in

Om veelvuldige dokumente in 'n versameling in MongoDB in te voeg, gebruik ons ​​die insertMany()metode.

Die eerste parameter van die insertMany()metode is 'n reeks voorwerpe wat die data bevat wat jy wil invoeg.

Dit neem ook 'n terugbelfunksie waar u met enige foute of die resultaat van die invoeging kan werk:

Voorbeeld

Voeg veelvuldige dokumente in die "kliënte"-versameling in:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myobj = [
    { name: 'John', address: 'Highway 71'},
    { name: 'Peter', address: 'Lowstreet 4'},
    { name: 'Amy', address: 'Apple st 652'},
    { name: 'Hannah', address: 'Mountain 21'},
    { name: 'Michael', address: 'Valley 345'},
    { name: 'Sandy', address: 'Ocean blvd 2'},
    { name: 'Betty', address: 'Green Grass 1'},
    { name: 'Richard', address: 'Sky st 331'},
    { name: 'Susan', address: 'One way 98'},
    { name: 'Vicky', address: 'Yellow Garden 2'},
    { name: 'Ben', address: 'Park Lane 38'},
    { name: 'William', address: 'Central st 954'},
    { name: 'Chuck', address: 'Main Road 989'},
    { name: 'Viola', address: 'Sideway 1633'}
  ];
  dbo.collection("customers").insertMany(myobj, function(err, res) {
    if (err) throw err;
    console.log("Number of documents inserted: " + res.insertedCount);
    db.close();
  });
});

Stoor die kode hierbo in 'n lêer genaamd "demo_mongodb_insert_multiple.js" en hardloop die lêer:

Begin "demo_mongodb_insert_multiple.js"

C:\Users\Your Name>node demo_mongodb_insert_multiple.js

Wat vir jou hierdie resultaat sal gee:

Number of documents inserted: 14

Die resultaatvoorwerp

Wanneer die insertMany()metode uitgevoer word, word 'n resultaatobjek teruggestuur.

Die resultaatvoorwerp bevat inligting oor hoe die invoeging die databasis beïnvloed het.

Die voorwerp wat uit die voorbeeld hierbo teruggekeer is, het soos volg gelyk:

{
  result: { ok: 1, n: 14 },
  ops: [
    { name: 'John', address: 'Highway 71', _id: 58fdbf5c0ef8a50b4cdd9a84 },
    { name: 'Peter', address: 'Lowstreet 4', _id: 58fdbf5c0ef8a50b4cdd9a85 },
    { name: 'Amy', address: 'Apple st 652', _id: 58fdbf5c0ef8a50b4cdd9a86 },
    { name: 'Hannah', address: 'Mountain 21', _id: 58fdbf5c0ef8a50b4cdd9a87 },
    { name: 'Michael', address: 'Valley 345', _id: 58fdbf5c0ef8a50b4cdd9a88 },
    { name: 'Sandy', address: 'Ocean blvd 2', _id: 58fdbf5c0ef8a50b4cdd9a89 },
    { name: 'Betty', address: 'Green Grass 1', _id: 58fdbf5c0ef8a50b4cdd9a8a },
    { name: 'Richard', address: 'Sky st 331', _id: 58fdbf5c0ef8a50b4cdd9a8b },
    { name: 'Susan', address: 'One way 98', _id: 58fdbf5c0ef8a50b4cdd9a8c },
    { name: 'Vicky', address: 'Yellow Garden 2', _id: 58fdbf5c0ef8a50b4cdd9a8d },
    { name: 'Ben', address: 'Park Lane 38', _id: 58fdbf5c0ef8a50b4cdd9a8e },
    { name: 'William', address: 'Central st 954', _id: 58fdbf5c0ef8a50b4cdd9a8f },
    { name: 'Chuck', address: 'Main Road 989', _id: 58fdbf5c0ef8a50b4cdd9a90 },
    { name: 'Viola', address: 'Sideway 1633', _id: 58fdbf5c0ef8a50b4cdd9a91 } ],
  insertedCount: 14,
  insertedIds: [
    58fdbf5c0ef8a50b4cdd9a84,
    58fdbf5c0ef8a50b4cdd9a85,
    58fdbf5c0ef8a50b4cdd9a86,
    58fdbf5c0ef8a50b4cdd9a87,
    58fdbf5c0ef8a50b4cdd9a88,
    58fdbf5c0ef8a50b4cdd9a89,
    58fdbf5c0ef8a50b4cdd9a8a,
    58fdbf5c0ef8a50b4cdd9a8b,
    58fdbf5c0ef8a50b4cdd9a8c,
    58fdbf5c0ef8a50b4cdd9a8d,
    58fdbf5c0ef8a50b4cdd9a8e,
    58fdbf5c0ef8a50b4cdd9a8f
    58fdbf5c0ef8a50b4cdd9a90,
    58fdbf5c0ef8a50b4cdd9a91 ]
}

Die waardes van die eiendomme kan soos volg vertoon word:

Voorbeeld

Gee die aantal ingevoegde dokumente terug:

console.log(res.insertedCount)

Wat hierdie resultaat sal lewer:

14

Die _id-veld

As jy nie 'n _idveld spesifiseer nie, sal MongoDB een vir jou byvoeg en 'n unieke ID vir elke dokument toewys.

In die voorbeeld hierbo is geen _idveld gespesifiseer nie, en soos u uit die resultaatvoorwerp kan sien, het MongoDB 'n unieke _id vir elke dokument toegeken.

As jy wel die veld spesifiseer _id, moet die waarde uniek wees vir elke dokument:

Voorbeeld

Voeg drie rekords in 'n "produkte"-tabel in, met gespesifiseerde _idvelde:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myobj = [
    { _id: 154, name: 'Chocolate Heaven'},
    { _id: 155, name: 'Tasty Lemon'},
    { _id: 156, name: 'Vanilla Dream'}
  ];
  dbo.collection("products").insertMany(myobj, function(err, res) {
    if (err) throw err;
    console.log(res);
    db.close();
  });
});

Stoor die kode hierbo in 'n lêer genaamd "demo_mongodb_insert_id.js" en hardloop die lêer:

Begin "demo_mongodb_insert_id.js"

C:\Users\Your Name>node demo_mongodb_insert_id.js

Wat vir jou hierdie resultaat sal gee:

{
  result: { ok: 1, n: 3 },
  ops: [
    { _id: 154, name: 'Chocolate Heaven },
    { _id: 155, name: 'Tasty Lemon },
    { _id: 156, name: 'Vanilla Dream } ],
  insertedCount: 3,
  insertedIds: [
    154,
    155,
    156 ]
}