Простой выбор из MongoDB с вибрацией
Я учусь использовать MongoDB от Вибра. Я написал простое приложение, которое, как я думаю, должно найти операцию. Но когда я запускаю его, я получаю сообщение об ошибке: Querying uninitialized MongoCollection.
, Что я делаю не так?
import vibe.core.log;
import vibe.db.mongo.mongo;
import vibe.d;
import std.stdio;
import std.array;
void main()
{
MongoCollection m_posts;
foreach(p;m_posts.find("{}"))
{
writeln(p);
}
}
2 ответа
В хранилище vibe.d есть пример монго.
Это сводится к этому шаблону:
void main()
{
auto db = connectMongoDB("localhost").getDatabase("test");
auto coll = db["collection"];
foreach (i, doc; coll.find("{}"))
writeln("Item %d: %s", i, doc.toJson().toString());
}
В своем фрагменте вы попытались использовать объект коллекции, не подключаясь к базе данных и не извлекая ее оттуда. Это именно то, что ошибка.
Вы просто создали объект MongoCollection и ничего не инициализировали. Вот почему ошибка об "неинициализированной коллекции". Вы должны подключить его к базе данных и поместить в него некоторые данные. Посмотрите на http://vibed.org/api/vibe.db.mongo.collection/MongoCollection примеры.