2021.10.25 Mongo实验
一、今日内容
一、今日学习内容
实验4:NoSQL和关系数据库的操作比较
MongoDB数据库操作
Student文档如下:
{ “name”: “zhangsan”, “score”: { “English”: 69, “Math”: 86, “Computer”: 77 } } { “name”: “lisi”, “score”: { “English”: 55, “Math”: 100, “Computer”: 88 } } |
1.根据上面给出的文档,完成如下操作:
(1)用MongoDB Shell设计出student集合;
创建数据库:use mongo_S;
创建集合:db.createCollection(‘Student’);
插入数据:db.Student.insert({name:"zhangsan",score:{English:69,Math:86,Computer:77}});
db.Student.insert({name:"lisi",score:{English:55,Math:100,Computer:88}});
(2)用find()方法输出两个学生的信息;
db.Student.find();
(3)用find()方法查询zhangsan的所有成绩(只显示score列);
db.Student.find({name:"zhangsan"},{score:1});
(4)修改lisi的Math成绩,改为95。
db.Student.update({name:"lisi"},{"$set":{"score.Math":95}});
2.根据上面已经设计出的Student集合,用MongoDB的Java客户端编程,实现如下操作:
(1)添加数据:English:45 Math:89 Computer:100
与上述数据对应的文档形式如下:
{ “name”: “scofield”, “score”: { “English”: 45, “Math”: 89, “Computer”: 100 } } |
package mongo;
import java.util.ArrayList; import java.util.List; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class Mongo {
public static void main(String[] args) {
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase mongoDatabase = mongoClient.getDatabase("mongo_S");
MongoCollection<Document> collection = mongoDatabase
.getCollection("Student");
Document document = new Document("name", "scofield").append(
"score",
new Document("English", 45).append("Math", 89).append(
"Computer", 100));
List<Document> documents = new ArrayList<Document>();
documents.add(document);
collection.insertMany(documents);
System.out.println("文档插入成功");
}
} |
(2)获取scofield的所有成绩成绩信息(只显示score列)
package mongo;
import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoCursor; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import static com.mongodb.client.model.Filters.eq;
public class Mongo1{
public static void main(String[] args) {
MongoClient mongoClient=new MongoClient("localhost",27017);
MongoDatabase mongoDatabase = mongoClient.getDatabase("mongo_S");
MongoCollection<Document> collection = mongoDatabase.getCollection("Student");
MongoCursor<Document> cursor=collection.find( new Document("name","scofield")).
projection(new Document("score",1).append("_id", 0)).iterator();
while(cursor.hasNext())
System.out.println(cursor.next().toJson());
}
} |