1.进入my_test数据库
use my_test;
2.向数据库的user集合插入一个文档
db.user.insertOne({username:"孙悟空"});
3.查询user集合中的文档
db.user.find();
4.向数据库的user集合插入两个文档
db.user.insertMany([
{username:"猪八戒"},
{username:"沙和尚"}
]);
5.查询user集合中的文档数量
db.user.find().count();
6.查询数据库user集合中username为孙悟空的文档
db.user.find({username:"孙悟空"});
7.向user集合中username为孙悟空的文档插入一个address属性,值为花果山
db.user.updateOne(
{username:"孙悟空"},
{
$set:{
address:"花果山"
}
}
);
8.使用{username:“唐僧”}替换username为猪八戒的文档
db.user.replaceOne({username:"猪八戒"},
{username:"唐僧"});
9.删除username为孙悟空的文档的address属性
db.user.updateOne(
{username:"孙悟空"},
{
$unset:{
address:1
}
}
);
10.向username为孙悟空的文档添加一个hobby:{cities:[“beijing”,“shanghai”,“shenzhen”], movies:[“sanguo”,“hero”]}
db.user.updateOne(
{username:"孙悟空"},
{
$set:{
hobby:{
cities:["beijing","shanghai","shenzhen"],
movies:["sanguo","hero"]
}
}
}
);
11.向username为唐僧的文档添加一个hobby:{movies:[“A Chinese Odyssey”,“King of comedy”]}
db.user.updateOne(
{username:"唐僧"},
{
$set:{
hobby:{
movies:["A Chinese Odyssey","King of comedy"]
}
}
}
);
12.查询喜欢电影hero的文档
注意:
1)MongoDB支持直接通过内嵌文档的属性进行查询,如果要查询内嵌文档则可以通过 .(一个点) 的形式来匹配
2)如果要通过 内嵌文档来对文档进行查询,那么属性名必须使用引号。
db.user.find({"hobby.movies":"hero"});
13.向唐僧添加一个新的电影Interstellar
db.user.updateOne(
{username:"唐僧"},
{
$set:{
hobby:{
movies:["A Chinese Odyssey","King of comedy","Interstellar"]
}
}
}
);
或者使用我们的push操作符,$push用于向数组中添加一个新的元素。
db.user.updateOne(
{username:"唐僧"},
{
$push:{
"hobby.movies":"Interstellar"
}
}
);
或者使用$addToSet 向数组添加一个新的元素。(该方法和push有一个最大的不同点就是,该方法添加的元素如果已经存在,则不会添加,而push是无论是否存在都会添加)
db.user.updateOne(
{username:"唐僧"},
{
$addToSet:{
"hobby.movies":"Interstellar"
}
}
);
14.删除喜欢北京的用户
db.user.deleteOne({"hobby.cities":"beijing"});
15.删除user集合
db.user.drop();
16.向numbers集合插入20000个文档
这里有两种方法,一种比较简单但是很慢的如下:
use my_test;
for(var i = 1; i <= 20000; i++){
db.numbers.insert({num:i});
}
一种麻烦一点,但是快好几倍,如下:
var arr = [ ];
for(var i = 1; i <= 20000; i++){
arr.push({num:i});
}
db.numbers.insert(arr);