mongodb 數(shù)據(jù)庫實(shí)驗(yàn)
一:增加數(shù)據(jù)
操作1:單條插入:Yelp數(shù)據(jù)庫中的User數(shù)據(jù)集插入符和如下要求的數(shù)據(jù)
_id:自定義為自己的班級(jí);
user_id:自己的學(xué)號(hào)+任意字符(多于22個(gè)字符取前22位,不足22個(gè)字符補(bǔ)充字母,數(shù)字或下劃線);
name:姓名拼音;
review_count:任意隨機(jī)數(shù);
yelping_since:實(shí)驗(yàn)時(shí)間;
操作2:多條插入:
隨機(jī)構(gòu)建4條User數(shù)據(jù),有序插入U(xiǎn)ser數(shù)據(jù)集中;
db.user.insert(
{
_id: 2018211,
user_id: 201821057900000000000000000000000,
name: "xiao",
review_count: 100,
"yelping_since": ISODate("2020-11-17 07:58:51"),
}
)
the result
2: 插入多項(xiàng)數(shù)據(jù):
db.user.insertMany(
[ {
_id: 201821112,
user_id: 201811111111111111111111,
name: "xiaoxiao",
review_count: 1,
"yelping_since": ISODate("2020-11-18 07:58:51"),
},
{
_id: 201821114,
user_id: 201822222222222222222,
name: "xuexiao",
review_count: 344,
"yelping_since": ISODate("2030-11-18 07:58:51"),
},
{
_id: 201821117,
user_id: 201833333333333333333,
name: "xiaoxiao",
review_count: 56,
"yelping_since": ISODate("2020-11-19 07:58:51"),
},]
)
the result
二:刪除數(shù)據(jù)
刪除指定條件的數(shù)據(jù):刪除business數(shù)據(jù)集中 stars小于3且city位于Las Vegas的記錄;
db.business.remove({
"city": "Las Vegas",
stars: {
$lt:3
}
})
result :
三: 更新數(shù)據(jù)
整體更新:將1.1中插入的數(shù)據(jù)整體更新
user_id:自己的班級(jí)+任意字符(多于22個(gè)字符取前22位,不足22個(gè)字符補(bǔ)充字母,數(shù)字或下劃線);
name:姓名拼音倒序;
review_count:任意隨機(jī)數(shù)(與之前不同);
yelping_since:當(dāng)前實(shí)驗(yàn)時(shí)間(與之前不同);
操作5:局部更新
將business數(shù)據(jù)集內(nèi)business_id為"8mIrX_LrOnAqWsB5JrOojQ"的記錄對(duì)應(yīng)的stars增加0.5
db.user.update({_id: 2018211125},
{name:"xiaoxiao", review_count: 0,yelping_since: ISODate("2020-11-18 21:58:51")})
result: 查詢后
部分更新
初始:
db.business.update({business_id:8mIrX_LrOnAqWsB5JrOojQ},
{ "$inc":{stars:0.5}
}
)
進(jìn)行部分更新, 再次查詢結(jié)果為:
四:查詢
1: 查詢business集合內(nèi)latitude大于30,longitude小于50,state位于AZ的10條記錄
查詢business集合內(nèi)city為"Charlotte"或"Toronto"或“Scottsdale”的記錄(跳過前510條數(shù)據(jù))
db.business.find({
latitude: {
"$gte": 30,
"$lte": 50
},
state: "AZ"
}).limit(10)
result:
查詢business集合內(nèi)city為"Charlotte"或"Toronto"或“Scottsdale”的記錄(跳過前510條數(shù)據(jù))
db.business.find({
city: {
"$in": ["Charlotte", "Toronto", "cottsdale"]
}
}).skip(150)
result :
五索引:
創(chuàng)建索引:friend數(shù)據(jù)集上,建立user_id(升序)與friend_id(降序)多字段唯一索引
db.friend.createIndex({user_id:1 ,friend_id: -1})
result
查看索引:
六聚合:
統(tǒng)計(jì)review數(shù)據(jù)集中stars大于2.0對(duì)應(yīng)的不同user_id(作為_id)的stars評(píng)分總和(重命名為starSum)
db.review.aggregate([
{
$match: {
"stars": {
"$gte": 2.0
}
}
},
{
$group: {
_id: "$user_id",
starSum:{
$sum: "$stars"
}
}
},
])
result :
統(tǒng)計(jì)friend數(shù)據(jù)集中friend_id為"BI4jBJVto2tEQ0NiaR0rNQ"的不同用戶的總數(shù)(count)從第10條開始統(tǒng)計(jì)
db.friend.aggregate([
{
$match: {
friend_id:"BI4jBJVto2tEQ0NiaR0rNQ"
}
},
{
$group: {
_id: "$friend_id",
Sum:{
$sum: "$count",
}
}
},
]).skip(10)
result :
統(tǒng)計(jì)friend數(shù)據(jù)集中不同的friend_id(distinct)
db.friend.distinct(
"friend_id"
)
result :
總結(jié)
到此這篇關(guān)于mongodb數(shù)據(jù)庫實(shí)驗(yàn)之增刪查改的文章就介紹到這了,更多相關(guān)mongodb增刪查改 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Java操作Mongodb數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)的增刪查改功能示例
- MongoDB入門教程之細(xì)說MongoDB數(shù)據(jù)庫的增刪查改操作
- MongoDB中對(duì)文檔的增刪查改基本操作方法總結(jié)
- MongoDB增刪查改操作示例【基于JavaScript Shell】