数据结构
{
"_id" : ObjectId("59f938235d93fc4af8a37114"),
"username" : "good",
"country" : "china",
"address" : {
"aCode" : "邮编",
"add" : "d11pff"
},
"favorites" : {
"movies" : ["杀破狼2","1dushe","雷神1"],
"cites" : ["1sh","1cs","1zz"]
},
"age" : 18,
"salary":NumberDecimal("2.099"),
"lenght" :1.79
}
需求描述
新增5 人
db.users.drop();
var user1 = { "username" : "lison", "country" : "china", "address" : { "aCode" : "411000", "add" : "长沙" },"favorites" : { "movies" : ["杀破狼 2","战狼","雷神 1"], "cites" : ["长沙","深圳","上海"] },"age" : 18, "salary":NumberDecimal("18889.09"), "lenght" :1.79 };
var user2 = { "username" : "james", "country" : "English", "address" : { "aCode" : "311000", "add" : "地址" },"favorites" : {
"movies" : ["复仇者联盟","战狼","雷神 1"], "cites" : ["西安","东京","上海"] },"age" : 24, "salary":NumberDecimal("7889.09"), "lenght" :1.35 };
var user3 ={"username" : "deer", "country" : "japan", "address" : { "aCode" : "411000", "add" : "长沙" },"favorites" : { "movies" : ["肉蒲团","一路向西","倩女幽魂"], "cites" : ["东莞","深圳","东京"] },"age" : 22, "salary":NumberDecimal("6666.66"), "lenght" :1.85 };
var user4 = { "username" : "mark", "country" : "USA", "address" : { "aCode" : "411000", "add" : "长沙" },"favorites" : { "movies" : ["蜘蛛侠","钢铁侠","蝙蝠侠"], "cites" : ["青岛","东莞","上海"] },"age" : 20, "salary":NumberDecimal("6398.22"), "lenght" :1.77 };
var user5 = { "username" : "peter", "country" : "UK", "address" : {
"aCode" : "411000", "add" : "TEST" },"favorites" : { "movies" : ["蜘蛛侠","钢铁侠","蝙蝠侠"], "cites" : ["青岛","东莞","上海"] }, "salary":NumberDecimal("1969.88") };
db.users.insert(user1);
db.users.insert(user2);
db.users.insert(user3);
db.users.insert(user4);
db.users.insert(user5);
查询
查询喜欢的城市包含东莞和东京的 user
db.users.find({"favorites.cites":{"$all":["东莞","东京"]}}).pretty()
查询国籍为英国或者美国,名字中包含 s 的 user
db.users.find({"$and":[{"username":{"$regex":".*s.*"}},{"$or":[{"country":"English"},{"country":"USA"}]}]}).pretty()
修改
把 lison 的年龄修改为 6 岁
db.users.updateMany({username:"lison"},{"$set":{age:6}})
喜欢的城市包含东莞的人,给他喜欢的电影加入"小电影 2""小电影 3
db.users.updateMany({"favorites.cites":"东莞"},{"$addToSet":{"favorites.movies":{"$each":["小电影1","小电影2"]}}},true)
删除
删除名字为 lison 的 user
db.users.deleteMany({"username":"lison"})
删除年龄大于 8 小于 25 的 user
db.users.deleteMany({"$and":[{"age":{"$gt":8}},{"age":{"$lt":25}}]})
mongodb中的事务需要在集群环境下操作!