Вернуть всю коллекцию из MongoDB

1

используя официальные драйверы mongo/С# - каков наилучший способ возврата всей коллекции и как лучше всего хранить данные? Я видел несколько примеров итерации по коллекции и возврата определенного значения, например:

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

но что, если я не знаю имен ключей - и я просто хочу вернуть коллекцию?

  • 1
    var keys = value .Keys.ToArray (); foreach (var key в ключах) {value = collecion [key];}
  • 0
    Я имею в виду, что является наиболее подходящим механизмом для получения всех документов и их хранения. Следующая часть уравнения - какова лучшая структура данных для хранения этого ... Код не был проверен - просто пример, но C # должен выглядеть в основном так.
Показать ещё 2 комментария
Теги:
mongodb-.net-driver

1 ответ

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() определена пользователем, поэтому я только что показал вам требуемый код.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню