vibe.d mongodb connections
Benjamin Thaut via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Jan 2 08:54:54 PST 2015
I'm currently trying around with vibe.d and I'm confused about the
MongoDB example:
import vibe.d;
MongoClient client;
void test()
{
auto coll = client.getCollection("test.collection");
foreach (doc; coll.find(["name": "Peter"]))
logInfo("Found entry: %s", doc.toJson());
}
shared static this()
{
client = connectMongoDB("127.0.0.1");
}
"client" is TLS but is initialized within a shared module consturctor,
meaning that only the main thread will have a initialized db-connection.
http://vibed.org/api/vibe.db.mongo.mongo/connectMongoDB says: "Thus, the
MongoClient instance can - and should - be shared among all fibers in a
thread by storing in in a thread local variable."
So wouldn't it make more sense that the MongoDB example initializes the
"client" variable in a "static this()" instead of a "shared static this()" ?
Kind Regards
Benjamin Thaut
More information about the Digitalmars-d-learn
mailing list