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

MongoDB에서 배열에 대해 AND 쿼리를 수행하는 방법은 무엇입니까?

<시간/>

MongoDB에서 AND와 같은 결과를 얻으려면 $all 연산자를 사용하십시오. 먼저 문서로 컬렉션을 만들어 보겠습니다. −

> db.andQueryDemo.insertOne({"StudentName":"Carol Taylor","FavouriteSubject":["C","Java","MongoDB","MySQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc73e7a8f9e6ff3eb0ce433")
}
> db.andQueryDemo.insertOne({"StudentName":"David Miller","FavouriteSubject":["C++","Java","MongoDB","SQL Server"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc73ea48f9e6ff3eb0ce434")
}
> db.andQueryDemo.insertOne({"StudentName":"Carol Taylor","FavouriteSubject":["Python","PL/SQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc73ed38f9e6ff3eb0ce435")
}

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -

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

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

{
   "_id" : ObjectId("5cc73e7a8f9e6ff3eb0ce433"),
   "StudentName" : "Carol Taylor",
   "FavouriteSubject" : [
      "C",
      "Java",
      "MongoDB",
      "MySQL"
   ]
}
{
   "_id" : ObjectId("5cc73ea48f9e6ff3eb0ce434"),
   "StudentName" : "David Miller",
   "FavouriteSubject" : [
      "C++",
      "Java",
      "MongoDB",
      "SQL Server"
   ]
}
{
   "_id" : ObjectId("5cc73ed38f9e6ff3eb0ce435"),
   "StudentName" : "Carol Taylor",
   "FavouriteSubject" : [
      "Python",
      "PL/SQL"
   ]
}

다음은 $all을 사용하여 MongoDB의 배열에 대해 AND 쿼리를 수행하는 쿼리입니다. 여기에서는 "Java"와 "MongoDB"가 모두 FavouriteSubject로 포함된 배열을 표시합니다. -

> db.andQueryDemo.find({FavouriteSubject:{$all:["Java","MongoDB"]}}).pretty();

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

{
   "_id" : ObjectId("5cc73e7a8f9e6ff3eb0ce433"),
   "StudentName" : "Carol Taylor",
   "FavouriteSubject" : [
      "C",
      "Java",
      "MongoDB",
      "MySQL"
   ]
}
{
   "_id" : ObjectId("5cc73ea48f9e6ff3eb0ce434"),
   "StudentName" : "David Miller",
   "FavouriteSubject" : [
      "C++",
      "Java",
      "MongoDB",
      "SQL Server"
   ]
}