1.查找一条文档
//查找uid为14743423415102的文档
BasicDBObject bson = new BasicDBObject("uid", 14743423415102);
FindIterable<Document> documents = collection.find(bson);
Document document = new Document();
for(Document doc : documents){
document = doc;
break;
}
2.更新一条文档中的字段
存在弊端,若字段类型不一致,会抛出异常
推荐用下面一条$set方法进行更新
//更新uid为14743423415102文档中的name字段值
BasicDBObject bson = new BasicDBObject("uid", 14743423415102);
BasicDBObject bson1 = new BasicDBObject("name", "jack");
UpdateResult result = collection.updateOne(bson, bson1);
3.在一条文档中插入(更新)字段
$set:用来指定一个键并更新键值,若键不存在并创建。
有效的防止了字段类型不一致导致的更新值失败问题
//在uid为14743423415102文档中插入字段名为name、字段值为jack的字段
BasicDBObject bson = new BasicDBObject("uid", 14743423415102);
BasicDBObject bson1 = new BasicDBObject("name", "jack");
UpdateResult result = collection.updateOne(bson, new BasicDBObject("$set", bson1));
4.删除一条文档中的字段
$unset:主要是用来删除键
//删除uid为14743423415102文档的name字段
BasicDBObject bson = new BasicDBObject("uid", 14743423415102);
BasicDBObject bson1 = new BasicDBObject("name", "jack");
UpdateResult result = collection.updateOne(bson, new BasicDBObject("$unset", bson1););
5.在数组中插入文档
$push:数组修改器
//找出country为China的文档中,并向该文档中的record字段下的2017-08-29数组中插入文档
BasicDBObject bson = new BasicDBObject("country", "China");
String dateStr = '2017-08-29';
BasicDBObject bson1 = new BasicDBObject("$push", new BasicDBObject("record."+dateStr, document));
collection.updateOne(bson, bson1);