我有一个存储库类,用于处理 MongoDB 的所有数据库函数,这是构造函数的实现:
public LocationRepository(string connectionString)
{
if (string.IsNullOrWhiteSpace(connectionString))
{
connectionString = "mongodb://localhost:27017";
}
_client = new MongoClient(connectionString);
_server = _client.GetServer();
_database = _server.GetDatabase("locDb");
_collection = _database.GetCollection<Location>("Location");
}
然后我做类似的事情:
_collection.Insert(locationObject)
在类的其他方法中。
我想知道考虑到内存有限,这是否明智?如果没有,是否有一种明智的方法可以直接持久保存到数据库而无需加载集合。
GetCollection
不加载集合,甚至不加载Find()
将要。事实上,你必须开始迭代MongoCursor
before anything实际上是从数据库加载的,即使如此,它也不会加载整个集合,而只会加载可配置大小的批次。
如果您想实际加载整个集合,您可以调用ToList()
on the MongoCursor
,例如,但这当然很少有意义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)