摘要: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);