Computer >> Máy Tính >  >> Lập trình >> MongoDB

Truy vấn MongoDB đại diện không bằng null hoặc trống?

Để đặt truy vấn không bằng null hoặc rỗng, hãy sử dụng toán tử $ nin. Cú pháp như sau

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

Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu

> 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")
}

Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find ()

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

Điều này sẽ tạo ra kết quả sau

{
   "_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
}

Sau đây là truy vấn để đặt điều kiện cho không bằng null hoặc rỗng

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

Điều này sẽ tạo ra kết quả sau

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