English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este capítulo, aprenderemos cómo insertar documentos en una colección de MongoDB.
Para insertar datos en una colección de MongoDB, debe usar elmétodo insert() o método save().
método insert()La sintaxis básica del comando es la siguiente-
> db.COLLECTION_NAME.insert(document)
> db.users.insert({ ... _id : ObjectId("507f191e810c19729de860ea"), ... title: "Visión general de MongoDB", ... description: "MongoDB es una base de datos NoSQL", ... by: "Tutoriales básicos", ... url: "https://es.oldtoolbag.com", ... tags: ['mongodb', 'database', 'NoSQL'], ... likes: 100 ... }) WriteResult({ "nInserted" : 1 }) >
Este es el nombre de la colección que creamos en el capítulo anterior mycol . Si la colección no existe en la base de datos, MongoDB creará esta colección y luego insertará el documento en ella.
En el documento insertado, si no se especifica el parámetro _id, MongoDB asignará un ObjectId único para este documento.
_id es12Los números hexadecimales de los bytes, para cada documento en la colección son únicos.12Los bytes se dividen como se muestra a continuación:
_id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer)
También se puede pasar un array de documentos al método insert() como se muestra a continuación:
> db.createCollection("post") > db.post.insert([ { title: "MongoDB Visión general", description: "MongoDB no es una base de datos SQL", by: "基础教程" url: "http://es.oldtoolbag.com", tags: ["mongodb", "database", "NoSQL"], likes: 100 } { title: "NoSQL Database" description: "NoSQL数据库没有表" by: "基础教程" url: "http://es.oldtoolbag.com", tags: ["mongodb", "database", "NoSQL"], likes: 20, comments: [ { user: "user"1", message: "My first comment", dateCreated: new Date(2013,11,10,2,35, como: 0 } ] } }) BulkWriteResult({ "writeErrors": [], "writeConcernErrors": [], "nInserted": 2, "nUpserted": 0, "nMatched": 0, "nModified": 0, "nRemoved": 0, "upserted": [], }) >
Para insertar un documento, también puede usardb.post.save(document). Si no especifica _identonces Método save()ConMétodo insert()Igual. Si se especifica _id, reemplazará toda la información del documento que contiene _id especificado en el método save().
Si solo necesita insertar un documento en la colección, puede usar este método.
La sintaxis básica del comando insertOne() es la siguiente:
> db.COLLECTION_NAME.insertOne(document)
El siguiente ejemplo crea una nueva colección llamada empDetails y utiliza el método insertOne() para insertar un documento.
> db.createCollection("empDetails") { "ok": 1 }
> db.empDetails.insertOne( { First_Name: "Radhika", Last_Name: "Sharma", Date_Of_Birth: "1995-09-26", e_mail: "[email protected]", phone: "9848022338" }) { "acknowledged": true, "insertedId": ObjectId("5dd62b4070fb13eec3963bea") } >
Puede usar el método insertMany() para insertar múltiples documentos. Para este método, debe pasar un array de documentos.
El siguiente ejemplo utiliza el método insertMany() para insertar tres documentos diferentes en la colección empDetails.
> db.empDetails.insertMany( [ { First_Name: "Radhika", Last_Name: "Sharma", Date_Of_Birth: "1995-09-26", e_mail: "[email protected]", phone: "9000012345" } { First_Name: "Rachel", Last_Name: "Christopher", Date_Of_Birth: "1990-02-16", e_mail: "[email protected]", phone: "9000054321" } { First_Name: "Fathima", Last_Name: "Sheik", Date_Of_Birth: "1990-02-16", e_mail: "[email protected]", phone: "9000054321" } ] ) { "acknowledged": true, "insertedIds": [ ObjectId("5dd631f270fb13eec3963bed"), ObjectId("5dd631f270fb13eec3963bee"), ObjectId("5dd631f270fb13eec3963bef") ] } >