Вероятно, это отдельный вопрос, но по какой-то причине этот поиск может занять до 24 секунд для набора документов из 100 000. Я пытался добавить различные индексы, но безрезультатно; любые указатели в этом отношении были бы невероятны.

ользую 10Gen санкционированный драйвер C # для mongoDB для приложения C # и для просмотра данных, я использую Mongovue.

Вот две примеры схем документов:

{
  "_id": {
    "$oid": "4ded270ab29e220de8935c7b"
  },
  "Relationships": [
    {
      "RelationshipType": "Person",
      "Attributes": {        
        "FirstName": "Travis",
        "LastName": "Stafford"
      }
    },
    {
      "RelationshipType": "Student",
      "Attributes": {
        "GradMonth": "",
        "GradYear": "",
        "Institution": "Test1",
      }
    },
    {
      "RelationshipType": "Staff",
      "Attributes": {
        "Department": "LIS",
        "OfficeNumber": "12",
        "Institution": "Test2",
      }
    }
  ]
},    

{
  "_id": {
    "$oid": "747ecc1dc1a79abf6f37fe8a"
  },
  "Relationships": [
    {
      "RelationshipType": "Person",
      "Attributes": {        
        "FirstName": "John",
        "LastName": "Doe"
      }
    },
    {
      "RelationshipType": "Staff",
      "Attributes": {
        "Department": "Dining",
        "OfficeNumber": "1",
        "Institution": "Test2",
      }
    }
  ]
}

Мне нужен запрос, который гарантирует, что оба критерия $ elemMatch удовлетворены, чтобы я мог сопоставить первый документ, но не второй. Следующий запрос работает в Mongovue.

{
  'Relationships': { $all: [
        {$elemMatch: {'RelationshipType':'Student', 'Attributes.Institution': 'Test1'}},
        {$elemMatch: {'RelationshipType':'Staff', 'Attributes.Institution': 'Test2'}}
     ]}
}

Как я могу сделать тот же запрос в моем коде C #?

Ответы на вопрос(3)

Ваш ответ на вопрос