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

แบบสอบถาม MongoDB ซึ่งแสดงถึงไม่เท่ากับ null หรือว่างเปล่า?


หากต้องการตั้งค่าการสืบค้นให้ไม่เท่ากับค่าว่างหรือค่าว่าง ให้ใช้ตัวดำเนินการ $nin ไวยากรณ์มีดังนี้

db.yourCollectionName.find({yourFieldName:{$nin:[null,""]}});

ให้เราสร้างคอลเลกชันที่มีเอกสาร

> db.notEqualToNullOrEmptyDemo.insertOne({"UserName":"Larry","UserAge":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9d20b6a629b87623db1b26")
}
> db.notEqualToNullOrEmptyDemo.insertOne({"UserName":"","UserAge":29});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9d20bea629b87623db1b27")
}
> db.notEqualToNullOrEmptyDemo.insertOne({"UserName":"Sam","UserAge":32});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9d20c7a629b87623db1b28")
}
> db.notEqualToNullOrEmptyDemo.insertOne({"UserName":null,"UserAge":27});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9d20d2a629b87623db1b29")
}
> db.notEqualToNullOrEmptyDemo.insertOne({"UserName":"Robert","UserAge":26});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9d20dda629b87623db1b2a")
}
> db.notEqualToNullOrEmptyDemo.insertOne({"UserName":"","UserAge":23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9d20e7a629b87623db1b2b")
}

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

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

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

{
   "_id" : ObjectId("5c9d20b6a629b87623db1b26"),
   "UserName" : "Larry",
   "UserAge" : 24
}
{
   "_id" : ObjectId("5c9d20bea629b87623db1b27"),
   "UserName" : "",
   "UserAge" : 29
}
{
   "_id" : ObjectId("5c9d20c7a629b87623db1b28"),
   "UserName" : "Sam",
   "UserAge" : 32
}
{
   "_id" : ObjectId("5c9d20d2a629b87623db1b29"),
   "UserName" : null,
   "UserAge" : 27
}
{
   "_id" : ObjectId("5c9d20dda629b87623db1b2a"),
   "UserName" : "Robert",
   "UserAge" : 26
}
{
   "_id" : ObjectId("5c9d20e7a629b87623db1b2b"),
   "UserName" : "",
   "UserAge" : 23
}

ต่อไปนี้เป็นแบบสอบถามเพื่อกำหนดเงื่อนไขไม่เท่ากับ null หรือว่าง

> db.notEqualToNullOrEmptyDemo.find({UserName:{$nin:[null,""]}}).pretty();

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

{
   "_id" : ObjectId("5c9d20b6a629b87623db1b26"),
   "UserName" : "Larry",
   "UserAge" : 24
}
{
   "_id" : ObjectId("5c9d20c7a629b87623db1b28"),
   "UserName" : "Sam",
   "UserAge" : 32
}
{
   "_id" : ObjectId("5c9d20dda629b87623db1b2a"),
   "UserName" : "Robert",
   "UserAge" : 26
}