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

ค้นหาเอกสารที่เข้มงวดซึ่งมีเฉพาะฟิลด์เฉพาะที่มีความยาวคงที่หรือไม่?


คุณสามารถใช้ตัวดำเนินการ $where สำหรับสิ่งนี้ ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

>db.veryStrictDocumentDemo.insertOne({"StudentFirstName":"John","StudentLastName":"Doe","StudentAge":23});{ "acknowledged" :true, "insertedId" :ObjectId("5cda4bcdb50a6c6dd317adb8") ")}> db.veryStrictDocumentDemo.insertOne({"StudentFirstName":"Larry"});{ "acknowledged" :true, "insertedId" :ObjectId("5cda4bdbb50a6c6dd317adb9")}>db.veryStrictDocumentFirstName"StudentOne(")}> :"David","StudentLastName":"Miller"});{ "acknowledged" :true, "insertedId" :ObjectId("5cda4becb50a6c6dd317adba")}> db.veryStrictDocumentDemo.insertOne({"StudentFirstName":"Chris"});{ "รับทราบ" :จริง "insertedId" :ObjectId("5cda4bfbb50a6c6dd317adbb")}> db.veryStrictDocumentDemo.insertOne({"StudentFirstName":"Bob","StudentLastName":"สีน้ำตาล"});{ "รับทราบ":จริง "insertedId" :ObjectId("5cda4c6db50a6c6dd317adbc")}

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

> db.veryStrictDocumentDemo.find();

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

{ "_id" :ObjectId("5cda4bcdb50a6c6dd317adb8"), "StudentFirstName" :"John", "StudentLastName" :"Doe", "StudentAge" :23 }{ "_id" :ObjectId("5cda4bdbb31750a" StudentFirstName" :"Larry" } }{ "_id" :ObjectId("5cda4becb50a6c6dd317adba"), "StudentFirstName" :"David", "StudentLastName" :"Miller" }{ "_id" :ObjectId("5cdabbName", "StudentLastName" :"Miller" }{ "_id" :ObjectId") :"Chris" }{ "_id" :ObjectId("5cda4c6db50a6c6dd317adbc"), "StudentFirstName" :"Bob", "StudentLastName" :"Brown" }

ต่อไปนี้เป็นแบบสอบถามเพื่อรับฟิลด์เฉพาะที่มีความยาวคงที่ -

<ก่อนหน้า>> db.veryStrictDocumentDemo.find({ "StudentFirstName":{ $exists:true }, "StudentLastName":{ $exists:true }, $where:function() { return Object.keys(this).length ===4 }});

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

{ "_id" :ObjectId("5cda4bcdb50a6c6dd317adb8"), "StudentFirstName" :"John", "StudentLastName" :"Doe", "StudentAge" :23 }