1.进入my_test 数据库
use my_test
2.向数据库的users集合中插入一个username为sunwukong的文档
db.users.insert({username:"sunwukong"})
3.向数据库的users的集合中插入一个{username:"zhubajie"}和一个{username:"shaheshang",address:"liushahe"}的两个文档
db.users.insert([{username:"zhubajie"},{username:"shaheshang",address:"liushahe"}])
或
db.users.insertMany([{username:"zhubajie"},{username:"shaheshang",address:"liushahe"}])
4.查询数据库users集合中的文档
db.users.find()
5.统计数据库users集合中的文档数量
db.users.count()
6.查询数据库users集合中username为sunwukong的文档
db.users.find({username:"sunwukong"})
7.向数据库users集合中的username为sunwukong 的文档,添加一个address属性,属性值为:huaguoshan
db.users.update({username:"sunwukong"},{$set:{address:"huaguoshan"}})
8.使用{username:"tangseng"}替换username为zhubajie的文档
db.users.update({username:"zhubajie"},{username:"tangseng"})
9.删除username为shaheshang 的文档的address属性
db.users.update({username:"shaheshang"},{$unset:{address:0}})
或:db.users.update({username:"shaheshang"},{$unset:{address:""}})
10.删除address为huaguoshan的文档
db.users.remove({address:"huaguoshan"})
11.向username为sunwukong 的文档中,添加一个 hobby{cities[beijing,shanghai,shenzhen],movies[sanguo,hero]}
(MongoDB的文档属性值也可以是一个文档,当有一个文档的属性值是一个文档时,称这个文档为内嵌文档)
db.users.update({username:"sunwukong"},{$set:{hobby:{cities:["beijing","shanghai","shenzhen"],movies:["sanguo","hero"]}}})
12.向username为t
angseng的文档中,添加一个hobby{movies[A Chinses Odyssey,king of comedy]}
db.users.update({username:"tangseng"},{$set:{hobby:{movies:["A Chinese Odyssey","King of comedy"]}}})
13.查询喜欢电影hero的文档
db.users.find({"hobby.movies":"hero"})
MongoDB支持直接通过内嵌文档的属性进行查询,如果要查询内嵌文档则可以通过.的形式来匹配,如果要通过内嵌文档来对文档进行查询,此时属性名必须使用引号
14.向tangseng中添加一个新的电影Interstellar
db.users.update({username:"tangseng"},{$push:{"hobby.movies":"Interstellar"}})
$push 向数组中添加一个新的元素,如果数组中已经存在了该元素,也会添加
$addToSet向数组中添加一个新的元素,如果数组中已经存在了该元素,则不会添加
15.删除喜欢beijing的用户
db.users.remove({"hobby.cities":"beijing"})
16.删除user集合
db.users.drop()
补充:
从数组中删除元素:
db.users.update({username:"tangseng"},{$pop:{"hobby.movies":1}})
db.users.update({username:"tangseng"},{$pull:{"hobby.movies":"Interstellar"}})
db.users.update({username:"tangseng"},{$pullAll:{"hobby.movies":["Interstellar","hero"]})
$pop:属性值为1删除数组中的最后一个元素,值为-1删除数组中的第一个元素
$pull:删除属性值指定的元素
$pullAll:属性值式一个数组,删除属性值数组中的所有元素
17.向numbers中插入20000条数据
(1)
for(var i=1;i<=20000;i++)
{
db.numbers.insert({num:i});
}
(2)
var arr=[]
for(var i=1;i<=20000;i++)
{
arr.push({num:i});
}
db.numbers.insert(arr)
18.查询numbers中num为500的文档
db.numbers.find({num:500})
19.查询numbers中num大于500的文档
db.numbers.find({num:{$gt:500}})
20.查询numbers中num小于30的文档
db.numbers.find({num:{$lt:30}})
21.查询numbers中num大于40小于50的文档
db.numbers.find({num:{$gt:40,$lt:50}})
db.numbers.find({$and:[{num:{$lt:50}},{num:{$gt:40}}]})
22.查询numbers中num大于19996的文档
db.numbers.find({num:{$gt:19996]})
23.查看numbers集合中的前10条数据
db.numbers.find().limit(10)
limit()设置显示数据的上限
24.查看numbers集合中的第11条到第20条数据
db.numbers.find().skip(10).limit(10)
skip()用于跳过指定数量的数据
25.查看numbers集合中的 第21条到第30条数据
db.numbers.find().skip(20).limit(10)
MongoDB会自动调整skip()和limit()的顺序,所以skip()和limit()反过来也可以