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

여러 결합 필드에 대한 필터를 사용하여 컬렉션에서 MongoDB 문서를 찾는 방법은 무엇입니까?

<시간/>

이를 위해 find()와 함께 $or 연산자를 사용할 수 있습니다. 먼저 문서로 컬렉션을 생성해 보겠습니다. −

> db.findDocumentWithFilterDemo.insertOne({"ClientName":"Robert","IsMarried":false});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd4fd1e2cba06f46efe9ef1")
}
> db.findDocumentWithFilterDemo.insertOne({"ClientName":"Chris","IsMarried":true});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd4fd322cba06f46efe9ef2")
}
> db.findDocumentWithFilterDemo.insertOne({"ClientName":"David","IsMarried":true});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd4fd3b2cba06f46efe9ef3")
}
> db.findDocumentWithFilterDemo.insertOne({"ClientName":"Carol","IsMarried":true});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd4fd452cba06f46efe9ef4")
}

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

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

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

{
   "_id" : ObjectId("5cd4fd1e2cba06f46efe9ef1"),
   "ClientName" : "Robert",
   "IsMarried" : false
}
{
   "_id" : ObjectId("5cd4fd322cba06f46efe9ef2"),
   "ClientName" : "Chris",
   "IsMarried" : true
}
{
   "_id" : ObjectId("5cd4fd3b2cba06f46efe9ef3"),
   "ClientName" : "David",
   "IsMarried" : true
}
{
   "_id" : ObjectId("5cd4fd452cba06f46efe9ef4"),
   "ClientName" : "Carol",
   "IsMarried" : true
}

다음은 결합된 여러 필드에 대한 필터를 사용하여 컬렉션에서 문서를 찾는 쿼리입니다. -

> db.findDocumentWithFilterDemo.find({  $or: [ { "ClientName": { $ne:"Robert" } }, { "IsMarried": { $ne: false } }  ] } );

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

{ "_id" : ObjectId("5cd4fd322cba06f46efe9ef2"), "ClientName" : "Chris", "IsMarried" : true }
{ "_id" : ObjectId("5cd4fd3b2cba06f46efe9ef3"), "ClientName" : "David", "IsMarried" : true }
{ "_id" : ObjectId("5cd4fd452cba06f46efe9ef4"), "ClientName" : "Carol", "IsMarried" : true }