Multithreading MongoDB线程安全吗?

Multithreading MongoDB线程安全吗?,multithreading,mongodb,concurrency,thread-safety,document-database,Multithreading,Mongodb,Concurrency,Thread Safety,Document Database,我正在Windows上运行MongoDB。我有一个或多个线程删除并重新创建集合 使用mongo.exe和show collections()命令,我看到了多个同名的集合(超过1000个同名的集合!) 当我运行验证时: > db.MY_COLLECTION.validate() 我得到: { "errmsg" : "ns not found", "ok" : 0, "valid" : false } size()命令返回0,find()不返回任何内容 我的问题是:MongoDB线程安全吗

我正在Windows上运行MongoDB。我有一个或多个线程删除并重新创建集合

使用
mongo.exe
show collections()
命令,我看到了多个同名的集合(超过1000个同名的集合!)

当我运行验证时:

> db.MY_COLLECTION.validate()
我得到:

{ "errmsg" : "ns not found", "ok" : 0, "valid" : false }
size()
命令返回0,
find()
不返回任何内容


我的问题是:MongoDB线程安全吗?接下来的问题可能是“我是否正确地执行了此操作(删除并重新创建),或者是否有更好的方法刷新集合的全部内容?”

来自mongodb文档:

线程安全性

只有少数C#驱动程序类是线程安全的。其中:MongoServer、MongoDatabase、MongoCollection和MongoGridFS。您将使用很多非线程安全的常见类,包括MongoCursor和BSON库中的所有类(BsonSymbolTable除外,它是线程安全的)。类不是线程安全的,除非专门记录为线程安全的

所有类的所有静态属性和方法都是线程安全的

您可以在此页面上搜索单词Thread:


在2.2版中更改

MongoDB允许多个客户端使用锁定系统读取和写入单个数据集,以确保所有客户端接收到一致的数据视图,并防止多个应用程序同时修改完全相同的数据段。锁定有助于确保对单个文档的所有写入都以完整或完全不进行


上面的链接似乎不再处于活动状态。