Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

ฉันต้องการสร้างฟิลด์ใหม่ในเอกสารที่สร้างไว้แล้ว สิ่งนี้สามารถทำได้โดยใช้แบบสอบถาม MongoDB ได้อย่างไร


ใช้ $addToSet เพื่อสร้างฟิลด์ใหม่ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.createFieldDemo.insertOne({"StudentFirstName":"John","StudentAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd99e28b50a6c6dd317ad95")
}
> db.createFieldDemo.insertOne({"StudentFirstName":"Larry","StudentAge":23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd99e2fb50a6c6dd317ad96")
}
> db.createFieldDemo.insertOne({"StudentFirstName":"Chris","StudentAge":22});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd99e38b50a6c6dd317ad97")
}
> db.createFieldDemo.insertOne({"StudentFirstName":"David","StudentAge":25});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd99e43b50a6c6dd317ad98")
}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -

> db.createFieldDemo.find().pretty();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{
   "_id" : ObjectId("5cd99e28b50a6c6dd317ad95"),
   "StudentFirstName" : "John",
   "StudentAge" : 21
}
{
   "_id" : ObjectId("5cd99e2fb50a6c6dd317ad96"),
   "StudentFirstName" : "Larry",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5cd99e38b50a6c6dd317ad97"),
   "StudentFirstName" : "Chris",
   "StudentAge" : 22
}
{
   "_id" : ObjectId("5cd99e43b50a6c6dd317ad98"),
   "StudentFirstName" : "David",
   "StudentAge" : 25
}

ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างเขตข้อมูลใหม่ ที่นี่ เรากำลังสร้างฟิลด์ “StudentLastName” -

> db.createFieldDemo.update({_id: ObjectId("5cd99e43b50a6c6dd317ad98")}, {$addToSet: {"StudentLastName": "Miller"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

ให้เราตรวจสอบเอกสารทั้งหมดจากการเก็บรวบรวมข้างต้น -

> db.createFieldDemo.find().pretty();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{
   "_id" : ObjectId("5cd99e28b50a6c6dd317ad95"),
   "StudentFirstName" : "John",
   "StudentAge" : 21
}
{
   "_id" : ObjectId("5cd99e2fb50a6c6dd317ad96"),
   "StudentFirstName" : "Larry",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5cd99e38b50a6c6dd317ad97"),
   "StudentFirstName" : "Chris",
   "StudentAge" : 22
}
{
   "_id" : ObjectId("5cd99e43b50a6c6dd317ad98"),
   "StudentFirstName" : "David",
   "StudentAge" : 25,
   "StudentLastName" : [
      "Miller"
   ]
}