2014-11-18 5 views
1

의 전체 모음을 반환하십시오. 전체 모음을 반환하는 가장 좋은 방법은 무엇이며 데이터를 저장하는 가장 좋은 방법은 무엇입니까? 나는이 같은 모음 반복하고 특정 값을 반환의 예를 본 적이 :공식 mongo/C# 드라이버를 사용하여 MongoDB

var collection = db.getCollection("users").findAll(); 
foreach (var value in collection){ 
    value = collection["key"]; 
    ... 
} 

하지만 나는 키 이름을 알 수없는 경우 - 난 그냥 컬렉션을 반환하려면?

+1

var keys = value. Keys.ToArray(); foreach (키의 var 키) {value = collecion [key];} – BatScream

+0

모든 문서를 가져 와서 저장하는 가장 적합한 메커니즘은 무엇입니까? 방정식의 다음 부분은 이것을 저장하는 최상의 데이터 구조입니다 ... 코드는 검증되지 않았습니다 - 단지 예제이지만 C#은 대부분 그렇게 보일 것입니다. –

+1

전체 컬렉션을 저장하는 합리적인 방법은 없습니다. 여러 TB로 일부를 보았습니다. –

답변

0

컬렉션을 반환 할 때 키 이름을 알 필요가 없습니다.

public static void ReadCollectionDataUsingBson(string collectionName, string databaseName) 
    { 
     MongoDatabase database = CreateDatabase(databaseName); 

     MongoCollection<BsonDocument> collection = database.GetCollection<BsonDocument>(collectionName); 
     foreach (BsonDocument document in collection.FindAll()) 
     { 
      foreach (string name in document.Names) 
      { 
       BsonElement element = document.GetElement(name); 
       Console.WriteLine("{0}: {1}", name, element.Value); 
      } 
      Console.WriteLine(); 
     } 
    } 

참고 : CreateDatabase() 함수는 사용자 정의이므로 여기에 필요한 코드를 표시했습니다.

관련 문제