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

MongoDB Regex ค้นหาค่าจำนวนเต็ม?


ในการค้นหา Regex ด้วยค่าจำนวนเต็ม คุณต้องใช้ตัวดำเนินการ $where ไวยากรณ์มีดังนี้:

db.yourCollectionName.find({ $where:"/^yourIntegerPatternValue.*/.test(this.yourFieldName)" });

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างคอลเลกชันพร้อมเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้:

> db.regExpOnIntegerDemo.insertOne({"StudentId":2341234});{ "acknowledged" :true, "insertedId" :ObjectId("5c70370c75eb1743ddddce21")}> db.regExpOnIntegerDemo.insertId({":123234) });{ "รับทราบ" :จริง "insertedId" :ObjectId("5c70371175eb1743ddddce22")}> db.regExpOnIntegerDemo.insertOne({"StudentId":9871234});{ "acknowledged" :จริง "insertedObjectId" :}); "5c70371875eb1743ddddce23")}> db.regExpOnIntegerDemo.insertOne({"StudentId":2345612});{ "รับทราบ" :จริง "insertedId" :ObjectId("5c70372275eb1743ddddce24")}>sertdentId.ExpintuInteInteger :1239812345});{ "รับทราบ" :จริง "insertedId" :ObjectId("5c70372975eb1743ddddce25")}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังนี้:

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

ต่อไปนี้เป็นผลลัพธ์:

{ "_id" :ObjectId("5c70370c75eb1743ddddce21"), "StudentId" :2341234 }{ "_id" :ObjectId("5c70371175eb1743ddddce22"), "StudentId" :123234 }{ "_id" :ObjectId , "StudentId" :9871234 }{ "_id" :ObjectId("5c70372275eb1743ddddce24"), "StudentId" :2345612 }{ "_id" :ObjectId("5c70372975eb1743ddddce25"), "StudentId" }  

นี่คือแบบสอบถามเพื่อทำการค้นหา Regex ด้วยค่าจำนวนเต็ม:

> db.regExpOnIntegerDemo.find({ $where:"/^123.*/.test(this.StudentId)" });

ต่อไปนี้เป็นผลลัพธ์:

{ "_id" :ObjectId("5c70371175eb1743ddddce22"), "StudentId" :123234 }{ "_id" :ObjectId("5c70372975eb1743ddddce25"), "StudentId" :1239812345 }