Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB:$nin 및 $in이 $elemMatch에서 함께 작동하여 제목이 "MongoDB"이지만 "Java"가 아닌 문서를 가져오지 않습니다.

<시간/>

이러한 종류의 가져오기에는 $nin 및 $in만 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo140.insertOne({"Id":101,"Subjects":["MongoDB","MySQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e31c149fdf09dd6d08539a9")
}
> db.demo140.insertOne({"Id":102,"Subjects":["MongoDB","Java"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e31c14cfdf09dd6d08539aa")
}
> db.demo140.insertOne({"Id":103,"Subjects":["MongoDB","PL/SQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e31c157fdf09dd6d08539ab")
}
> db.demo140.insertOne({"Id":104,"Subjects":["MongoDB","SQL Server"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e31c163fdf09dd6d08539ac")
}
> db.demo140.insertOne({"Id":105,"Subjects":["C","C++"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e31c16ffdf09dd6d08539ad")
}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo140.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" : ObjectId("5e31c149fdf09dd6d08539a9"), "Id" : 101, "Subjects" : [ "MongoDB", "MySQL" ] }
{ "_id" : ObjectId("5e31c14cfdf09dd6d08539aa"), "Id" : 102, "Subjects" : [ "MongoDB", "Java" ] }
{ "_id" : ObjectId("5e31c157fdf09dd6d08539ab"), "Id" : 103, "Subjects" : [ "MongoDB", "PL/SQL" ] }
{ "_id" : ObjectId("5e31c163fdf09dd6d08539ac"), "Id" : 104, "Subjects" : [ "MongoDB", "SQL Server" ] }
{ "_id" : ObjectId("5e31c16ffdf09dd6d08539ad"), "Id" : 105, "Subjects" : [ "C", "C++" ] }

다음은 제목이 "MongoDB"이지만 "Java"가 아닌 문서를 가져오는 쿼리입니다. -

> db.demo140.find({$and:[{Subjects:{$in:['MongoDB']}}, {Subjects:{$nin:['Java']}}]}).toArray();

이것은 다음과 같은 출력을 생성합니다 -

[
   {
      "_id" : ObjectId("5e31c149fdf09dd6d08539a9"),
      "Id" : 101,
      "Subjects" : [
         "MongoDB",
         "MySQL"
      ]
   },
   {
      "_id" : ObjectId("5e31c157fdf09dd6d08539ab"),
      "Id" : 103,
      "Subjects" : [
         "MongoDB",
         "PL/SQL"
      ]
   },
   {
      "_id" : ObjectId("5e31c163fdf09dd6d08539ac"),
      "Id" : 104,
      "Subjects" : [
         "MongoDB",
         "SQL Server"
      ]
   }
]