第1关:数据库创建

编程要求

在右侧命令行中连接 MongoDB ,创建一个名为 mydb 的数据库,并插入数据:_id:1,name:“李小红”。

解答

mongo
use mydb
db.mydb.insert({_id:1,name:"李小红"})

第2关:创建集合

编程要求

在右侧命令行中操作,创建数据库 Testdb2,创建集合 t_stu ,内容如图3所示:预览大图

解答

mongo
use Testdb2
db.t_stu.insert([
    {"_id":1, "name":"小明", "sex": "男", "hobbies":["乒乓球", "羽毛球"]},
    {"_id":2, "name":"小红", "sex": "女", "hobbies":["画画", "唱歌"]}
])

第3关:文档操作一

编程要求

现在有文档数据如下:

_id 1
name 张小华
sex
phone 12356986594
hobbies 打篮球,踢足球,唱歌

使用 Testdb3 数据库,把它赋值给变量 document ,插入到集合 stu1 、stu2 、stu3 中;

然后对集合 stu2 使用 update() 方法,把 phone 的值更新为18356971462;

对集合 stu3 使用 save() 方法,用下面张晓晓的信息替换掉张小华的信息。

_id 1
name 张晓晓
sex
phone 12365498704
hobbies 跳舞,羽毛球,唱歌

解答

mongo
use Testdb3
document=({
_id:1,
name:'张小华',
sex:'男',
phone:'12356986594',
hobbies:['打篮球','踢足球','唱歌']
})
db.stu1.insert(document)
db.stu2.insert(document)
db.stu3.insert(document)
db.stu2.update({phone:"12356986594"}, {$set:{phone:"18356971462"}})
db.stu3.save({
_id:1,
name:'张晓晓',
sex:'女',
phone:'12365498704',
hobbies:['跳舞','羽毛球','唱歌']
})

第4关:文档操作二

编程要求

现有文档数据如下:

键 值
_id 1
name 西西
sex 女
age 23
national 汉族

键 值
_id 2
name 东东
sex 男
age 20
national 苗族

键 值
_id 3
name 北北
sex 男
age 19
national 汉族

键 值
_id 4
name 南南
sex 女
age 15
national 傣族

把上述数据赋值给变量 document (一条命令),插入到集合 stu1 、stu2;

执行查询命令,查找集合 stu1 中年龄大于等于15岁的女生;

执行查询命令,查找集合 stu1 中苗族人;

执行查询命令,查找集合 stu1 中年龄小于20岁的男生;

执行删除命令,删除集合 stu2 的所有数据。

上述操作共有六条命令,请按要求填入右侧代码栏 Begin-End 中,每条命令以英文分号“ ;”号隔开(由于测试需要,请在“ $ ” 前加 “ \ ” (转义符),平时在命令窗口练习不需要加“ \ ”)。

解答

#########begin#########
echo "
document = ([
    {
        _id:1,
        name:'西西',
        sex:'女',
        age:23,
        national:'汉族'
    },
    {
        _id:2,
        name:'东东',
        sex:'男',
        age:20,
        national:'苗族'
    },
    {
        _id:3,
        name:'北北',
        sex:'男',
        age:19,
        national:'汉族'
    },
    {
        _id:4,
        name:'南南',
        sex:'女',
        age:15,
        national:'傣族'
    }
]);
db.stu1.insert(document);
db.stu2.insert(document);
db.stu1.find({'age':{\$gte:15},'sex':'女'}).pretty();
db.stu1.find({'national':'苗族'}).pretty();
db.stu1.find({'age':{\$lt:20},'sex':'男'}).pretty();
db.stu2.remove({});

"
#########end#########

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐