0
我想提出一个Java应用程序,我想插入我的MongoDB的一些数据的ID,但我想用我的财产来替换默认ID如何在MongoDB中插入自己的对象(从Java)
这里是我的代码:
MongoClient mongoClient = new MongoClient("localhost");
DB db = mongoClient.getDB("indexdb");
DBCollection coll = db.getCollection("indexCollection");
for (Map.Entry<String, ReduceResult> rr : directindex.entrySet()) {
BasicDBObject doc = new BasicDBObject("DOC", rr.getKey());
Map<String,Integer>wordmap=new HashMap<String,Integer>();
for (Map.Entry<String, Integer> r : rr.getValue().getIndexedFile().entrySet()) {
wordmap.put(r.getKey(), r.getValue());
}
doc.append("terms", wordmap);
coll.insert(doc);
}
输出是
{ "_id" : { "$oid" : "58e5889ce4b02461ad5af080"} , "DOC" : "/home/ion/Desktop/RIW/input/doc4" , "terms" : { "dan" : 1 , "gutui" : 1}}
{ "_id" : { "$oid" : "58e5889ce4b02461ad5af081"} , "DOC" : "/home/ion/Desktop/RIW/input/doc3" , "terms" : { "bune" : 1 , "gutui" : 1}}
{ "_id" : { "$oid" : "58e5889ce4b02461ad5af082"} , "DOC" : "/home/ion/Desktop/RIW/input/doc2" , "terms" : { "dan" : 1 , "mere" : 2}}
{ "_id" : { "$oid" : "58e5889ce4b02461ad5af083"} , "DOC" : "/home/ion/Desktop/RIW/input/doc1" , "terms" : { "ana" : 1 , "mere" : 1 , "pere" : 1}}
但我想不说“_id”插入我希望我的对象的ID为“DOC” 谁能帮助我?谢谢!!
我不认为你可以完全删除'_id'场。将'DOC'值映射到'_id'或保持原样并在'DOC'上查询。 – Veeram