Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Kiểm tra trường có tồn tại trong MongoDB hay không

Bạn có thể sử dụng toán tử $exists cho việc này. Trước hết, tạo collection với các document:

>db.checkFieldExistsDemo.insertOne({"StudentFirstName":"John","StudentGender":"Male","StudentMongoDBScore":89});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd909611a844af18acdffbd") }
>db.checkFieldExistsDemo.insertOne({"StudentFirstName":"Emma","StudentGender":"Female","StudentMongoDBScore":58});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd909781a844af18acdffbe") }
>db.checkFieldExistsDemo.insertOne({"StudentFirstName":"Carol","StudentGender":"Male","StudentMongoDBScore":77});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd909871a844af18acdffbf") }
>db.checkFieldExistsDemo.insertOne({"StudentFirstName":"David","StudentMongoDBScore":98});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd909a31a844af18acdffc0") }

Hiển thị tất cả document:

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

Kết quả:

{ "_id" : ObjectId("5cd909611a844af18acdffbd"), "StudentFirstName" : "John", "StudentGender" : "Male", "StudentMongoDBScore" : 89 }
{ "_id" : ObjectId("5cd909781a844af18acdffbe"), "StudentFirstName" : "Emma", "StudentGender" : "Female", "StudentMongoDBScore" : 58 }
{ "_id" : ObjectId("5cd909871a844af18acdffbf"), "StudentFirstName" : "Carol", "StudentGender" : "Male", "StudentMongoDBScore" : 77 }
{ "_id" : ObjectId("5cd909a31a844af18acdffc0"), "StudentFirstName" : "David", "StudentMongoDBScore" : 98 }

Truy vấn kiểm tra trường StudentGender có tồn tại hay không (với điều kiện StudentMongoDBScore = 98):

> db.checkFieldExistsDemo.find({"StudentMongoDBScore":98, "StudentGender":{"$exists": false}},{'StudentFirstName': 1, '_id':0});

Kết quả (chỉ trả về David vì document này thiếu trường StudentGender):

{ "StudentFirstName" : "David" }