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

MongoDB tương đương với `select riêng (name) from collectionName where age =“ 25 ”`?

Bạn có thể sử dụng diff () để tương đương với select riêng biệt. Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"John","Age":23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd12759e3526dbddbbfb60b")
}
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Larry","Age":25});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd12768e3526dbddbbfb60c")
}
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"David","Age":25});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd12773e3526dbddbbfb60d")
}
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Carol","Age":26});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd1277ee3526dbddbbfb60e")
}
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Sam","Age":25});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd12793e3526dbddbbfb60f")
}
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Larry","Age":25});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd127a3e3526dbddbbfb610")
}
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Carol","Age":26});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd127aae3526dbddbbfb611")
}

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.distinctNameAndAgeDemo.find().pretty();

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

{
   "_id" : ObjectId("5cd12759e3526dbddbbfb60b"),
   "ClientFirstName" : "John",
   "Age" : 23
}
{
   "_id" : ObjectId("5cd12768e3526dbddbbfb60c"),
   "ClientFirstName" : "Larry",
   "Age" : 25
}
{
   "_id" : ObjectId("5cd12773e3526dbddbbfb60d"),
   "ClientFirstName" : "David",
   "Age" : 25
}
{
   "_id" : ObjectId("5cd1277ee3526dbddbbfb60e"),
   "ClientFirstName" : "Carol",
   "Age" : 26
}
{
   "_id" : ObjectId("5cd12793e3526dbddbbfb60f"),
   "ClientFirstName" : "Sam",
   "Age" : 25
}
{
   "_id" : ObjectId("5cd127a3e3526dbddbbfb610"),
   "ClientFirstName" : "Larry",
   "Age" : 25
}
{
   "_id" : ObjectId("5cd127aae3526dbddbbfb611"),
   "ClientFirstName" : "Carol",
   "Age" : 26
}

Truy vấn sau tương đương với `select diff (name) from collectionName where age =“ 25 ”-

> db.distinctNameAndAgeDemo.distinct("ClientFirstName", {"Age": 25});

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

[ "Larry", "David", "Sam" ]

Ở trên, chúng tôi đã hiển thị tên của khách hàng có độ tuổi là 25.