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

ฉันจะใช้ตัวดำเนินการ 'ไม่ชอบ' ใน MongoDB ได้อย่างไร


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

> db.notLikeOperatorDemo.insertOne({"StudentName":"John Doe"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8a29c393b406bd3df60dfc")
}
> db.notLikeOperatorDemo.insertOne({"StudentName":"John Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8a29cc93b406bd3df60dfd")
}
> db.notLikeOperatorDemo.insertOne({"StudentName":"John Taylor"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8a29df93b406bd3df60dfe")
}
> db.notLikeOperatorDemo.insertOne({"StudentName":"Carol Taylor"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8a2a1693b406bd3df60dff")
}
> db.notLikeOperatorDemo.insertOne({"StudentName":"David Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8a2a2693b406bd3df60e00")
}

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

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

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

{ "_id" : ObjectId("5c8a29c393b406bd3df60dfc"), "StudentName" : "John Doe" }
{
   "_id" : ObjectId("5c8a29cc93b406bd3df60dfd"),
   "StudentName" : "John Smith"
}
{
   "_id" : ObjectId("5c8a29df93b406bd3df60dfe"),
   "StudentName" : "John Taylor"
}
{
   "_id" : ObjectId("5c8a2a1693b406bd3df60dff"),
   "StudentName" : "Carol Taylor"
}
{
   "_id" : ObjectId("5c8a2a2693b406bd3df60e00"),
   "StudentName" : "David Miller"
}

นี่คือแบบสอบถามที่จะใช้ตัวดำเนินการ NOT LIKE ใน MongoDB -

> db.notLikeOperatorDemo.find( { StudentName: { $not: /^John Taylor.*/ } } );

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

{ "_id" : ObjectId("5c8a29c393b406bd3df60dfc"), "StudentName" : "John Doe" }
{ "_id" : ObjectId("5c8a29cc93b406bd3df60dfd"), "StudentName" : "John Smith" }
{ "_id" : ObjectId("5c8a2a1693b406bd3df60dff"), "StudentName" : "Carol Taylor" }
{ "_id" : ObjectId("5c8a2a2693b406bd3df60e00"), "StudentName" : "David Miller" }
You can use the following query also:
> db.notLikeOperatorDemo.find({StudentName: {$not: /John Taylor/}});
The following is the output:
{ "_id" : ObjectId("5c8a29c393b406bd3df60dfc"), "StudentName" : "John Doe" }
{ "_id" : ObjectId("5c8a29cc93b406bd3df60dfd"), "StudentName" : "John Smith" }
{ "_id" : ObjectId("5c8a2a1693b406bd3df60dff"), "StudentName" : "Carol Taylor" }
{ "_id" : ObjectId("5c8a2a2693b406bd3df60e00"), "StudentName" : "David Miller" }