9.练习1(包含前面的基本操作加$push,$addToSet,内嵌文档,for语句)

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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值