これはランダムに発生するため、予測することはできず、提案の助けが必要です. MongoVUEを使用して表示すると、Mongo にEntityフィールドhashが存在しCollectionます。LinkedHashMap に10を挿入slice'esしても問題なく動作し、MongoDb MOngoVUE でデータベースを見るとすべて問題ないように見えます。QueryIf I insert 10 を作成すると、10 が出力されますが、最後の 5 (5,6,7..) のフィールドhashは空です。
にはCollection BatchClassドキュメントが 1 つしかなく、それがテストを実行しているこの 1 つです。この動作の原因は何ですか?
実行中のテスト: 同じデータを 5 回保存し、そのうち 3 回はフィールドhashが空です。 Queryhash
MongoDB には調査可能なログ ファイルがありますか?
の作成Query :
Query<BatchClass> query = mongo.createQuery(BatchClass.class);
query.field(BatchClass.BATCHUUID).equal(theBatch.getBatchUuid());
query.field(BatchClass.POSITION).equal(position);
res = (BatchClass) query.get();
Entity :_
@Entity(noClassnameStored=true)
public final class BatchClass{
@Id
private ObjectId id;
@Embedded
private LinkedHashMap<Integer, Slice> sliceTable = null;
public void insertSlice(int pos, Slice slice) {
sliceTable.put(pos,slice);
}
public Map<Integer, Slice> getSliceTable() {
return sliceTable;
}
@Entity(noClassnameStored=true)
@Embedded
public static class Slice
{
public int keyPosition;
public String sliceName;
public String hash;
public int sliceFileSize;
public boolean completed = false;
}
}