Java -MongoDB ObjectId

摘要:Java -MongoDB ObjectId

MongoDB,如果沒有設定_id 的情況下,他會自動生成_id,

但這個_id,是物件ObjectId

當知道這個ObjectId字串為多少時,直接在Java,用String去Query,是Query不到的,

在Query之前,先用ObjectId物件,生成

語法如下

Stirng id = "abc";

ObjectId objId = new ObjectId(id);

這個ObjectId 的命名空間(namespace或package)

在org.bson.types.ObjectId 底下

所以要import以下

import org.bson.types.ObjectId;

 

如果要大量刪除或大量修改,使用_id $in的方式,可能會比較快,主要是連線下指令的次數減少,避免來來回回。

建立Java Query 如下

        BasicDBList obj_list = new BasicDBList();
        BasicDBObject query = new BasicDBObject();

        for(String id:ids)
        {
            obj_list.add(new ObjectId(id));
        }
        BasicDBObject in = new BasicDBObject();
        in.append("$in",obj_list);
        query.append("_id",in);