挿入の getlasterror からの「n」値は常にゼロです。('n' 値は、WriteResult.getN() が返す値です。)
この MongoDB Jira チケットを参照してください: https://jira.mongodb.org/browse/SERVER-4381。新しい挿入、更新、削除メカニズムに優先して閉じられたもの: https://jira.mongodb.org/browse/SERVER-9038
簡単に言えば。あなたは怒ったり、何かを見逃したりしていません。これは MongoDB の「機能」であり、2.6 リリースで最終的に修正されることを願っています。
ロブ。
編集:
保存したドキュメントを印刷するために、例を少し変更しました。このバージョンをお使いの環境で実行してみていただけますか?
import java.net.UnknownHostException;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.WriteConcern;
public class StackOverFlow {
public static void main(String[] args) throws UnknownHostException {
MongoClient mongo = new MongoClient("localhost:27017");
DB db = mongo.getDB("db");
DBCollection collection = db.getCollection("collection");
BasicDBObject o = new BasicDBObject();
o.put("key1", "value1");
o.put("key2", "value2");
collection.insert(WriteConcern.SAFE, o);
for (DBObject doc : collection.find()) {
System.out.println(doc);
}
}
}
私のマシンでは、次のように出力されます。
{ "_id" : { "$oid" : "5235f98495302901eb70e7a4"} , "key1" : "value1" , "key2" : "value2"}