【发布时间】:2017-08-31 19:19:36
【问题描述】:
我正在制作一个 java 应用程序,我想在我的 mongoDB 中插入一些数据,但我想用我的属性替换默认 id
这是我的代码:
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上查询。
标签: java json mongodb collections database