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

MongoDB에서 $elemMatch 연산자를 사용하지 않고 배열에서 정확히 일치하는 항목을 찾으시겠습니까?

<시간/>

대안으로 $eq 연산자를 사용하십시오. 먼저 문서로 컬렉션을 만들어 보겠습니다. −

> db.equalDemo.insertOne({_id:1,"StudentFriendNames":["John","Carol","Sam"]});
{ "acknowledged" : true, "insertedId" : 1 }
> db.equalDemo.insertOne({_id:2,"StudentFriendNames":null});
{ "acknowledged" : true, "insertedId" : 2 }
> db.equalDemo.insertOne({_id:3,"StudentFriendNames":["Carol"]});
{ "acknowledged" : true, "insertedId" : 3 }
> db.equalDemo.insertOne({_id:4,"StudentFriendNames":["Sam"]});
{ "acknowledged" : true, "insertedId" : 4 }

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

> db.equalDemo.find();

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

{ "_id" : 1, "StudentFriendNames" : [ "John", "Carol", "Sam" ] }
{ "_id" : 2, "StudentFriendNames" : null }
{ "_id" : 3, "StudentFriendNames" : [ "Carol" ] }
{ "_id" : 4, "StudentFriendNames" : [ "Sam" ] }

다음은 $eq −

를 사용하여 정확히 일치하는 쿼리입니다.
> db.equalDemo.find({"StudentFriendNames":{$eq:["Carol"]}});

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

{ "_id" : 3, "StudentFriendNames" : [ "Carol" ] }