MongoDB Studio 3T Practice Set Using Tweets.json Dataset | Realcode4you
- realcode4you
- May 25, 2023
- 3 min read
Install MongoDB and Studio 3T on your computer, create a new database with a name and import 'Tweets.json' (available on iLearn) as a collection. Then complete the following exercises.

Exercise
1. Insert 2 new Tweets to the collection.
2. Write a MongoDB query that returns all the Tweets.
3. Write a MongoDB query to find one of your Tweets with user’s name: "user 30".
4. Update two Tweets to have two tags called “My first tag” and “My second tag” respectively. Show two ways to do this. Do the first one using update() and do the second one using save(). Hint: for save(), you might want to query the object, store it in a variable first; then update it and save the update.
5. Write a MongoDB query to retrieve all documents from the Tweets collection where user name equals either "user 30" or "user 40".
6. Write a MongoDB query to retrieve all documents from the Tweets collection where user screen_name is "Twitter User" and user location is "Internet". (Specify AND Conditions)
7. Write a MongoDB query to retrieve all documents from the Tweets collection where user screen_name is "Twitter User" or user url is "user URL". (Specify OR Conditions)
8. Write a MongoDB query to retrieve all documents from the Tweets collection where user id is not 224499494502
Solution
1. Insert 2 new Tweets to the collection.
A 1.
Solution 1:
//Tweet 1
db.tweets.insert(
{
"created_at": "Thu Apr 06 15:24:15 +0000 2020",
"id_str": "1850006245121695744",
"text": "Have a nice day",
"user": {
"id": NumberLong(2244456599494501),
"name": "user 01",
"screen_name": "Twitter User",
"location": "Internet",
"url": "user URL",
"description": "user description"
},
"place": {
},
"entities": {
"hashtags": [
],
"urls": [{
"url": "twt url sample",
"unwound": {
"url": "url sample",
"title": "web page title"
}
}],
"user_mentions": [
]
}
})//Tweet 2
db.tweets.insert(
{
"created_at": "Thu Apr 06 15:24:15 +0000 2020",
"id_str": "1850006245121695744",
"text": "Good Morning",
"user": {
"id": NumberLong(2244456599494501),
"name": "user 01",
"screen_name": "Twitter User",
"location": "Internet",
"url": "user URL",
"description": "user description"
},
"place": {
},
"entities": {
"hashtags": [
],
"urls": [{
"url": "twt url sample",
"unwound": {
"url": "url sample",
"title": "web page title"
}
}],
"user_mentions": [
]
}
})Solution 2:
db.tweets.insert(
[{
"created_at": "Thu Apr 06 15:24:15 +0000 2020",
"id_str": "1850006245121695744",
"text": "Hi",
"user": {
"id": 2244456599494501,
"name": "user 01",
"screen_name": "Twitter User",
"location": "Internet",
"url": "user URL",
"description": "user description"
},
"place": {
},
"entities": {
"hashtags": [
],
"urls": [{
"url": "twt url sample",
"unwound": {
"url": "url sample",
"title": "web page title"
}
}],
"user_mentions": [
]
}
},
{
"created_at": "Thu Apr 06 15:24:17 +0000 2020",
"id_str": "8510006245121695744",
"text": "Welcome",
"user": {
"id": 224499494503,
"name": "user 03",
"screen_name": "Twitter User",
"location": "Internet",
"url": "user URL",
"description": "user description"
},
"place": {
},
"entities": {
"hashtags": [
],
"urls": [{
"url": "twt url sample",
"unwound": {
"url": "url sample",
"title": "web page title"
}
}],
"user_mentions": [
]
}
}
]
)
2. Write a MongoDB query that returns all the Tweets.
db.Tweets.find() 3. Write a MongoDB query to find one of your Tweets with user’s name: "user 30".
db.Tweets.findOne({"user.name":"user 30"})4. Update two Tweets to have two tags called “My first tag” and “My second tag” respectively. Show two ways to do this. Do the first one using update() and do the second one using save(). Hint: for save(), you might want to query the object, store it in a variable first; then update it and save the update.
Solution 1 (update ()):
db.Tweets.update({"user.name":"user 30"}, {$set:{"tag":"My first tag"}})
db.Tweets.update({"user.name":"user 40"}, {$set:{"tag":"My second tag"}}) Solution 2 (save ()):
var tweet_user30 = db.Tweets.findOne({"user.name":"user 30"})
tweet_user30["tag"] = "My first tag"
db.Tweets.save(tweet_user30)
var tweet_user40 = db.Tweets.findOne({"user.name":"user 40"})
tweet_user40["tag"] = "My second tag"
db.Tweets.save(tweet_user40)5. Write a MongoDB query to retrieve all documents from the Tweets collection where user name equals either "user 30" or "user 40".
db.Tweets.find({"user.name":{ $in: [ "user 30", "user 40" ] } })6. Write a MongoDB query to retrieve all documents from the Tweets collection where user screen_name is "Twitter User" and user location is "Internet". (Specify AND Conditions)
db.Tweets.find({$and: [{"user.screen_name": "Twitter User"}, {"user.location":"Internet"}]})7. Write a MongoDB query to retrieve all documents from the Tweets collection where user screen_name is "Twitter User" or user url is "user URL". (Specify OR Conditions)
db.Tweets.find({ $or: [{"user.screen_name": "Twitter User"}, {"user.url":"user URL"}]})8. Write a MongoDB query to retrieve all documents from the Tweets collection where user id is not 224499494502.
Solution 1:
db.Tweets.find({"user.id":{$ne:224499494502}})Solution 2:
db.Tweets.find({"user.id":{$not:{$eq:224499494502}}})


Mình có lần lướt đọc mấy trao đổi trên mạng thì thấy nhắc tới sbobet trong lúc mọi người đang bàn luận về cách tổng hợp tỷ số và dự đoán trận đấu, nên cũng mở ra xem thử cho biết. Mình không tìm hiểu sâu, chỉ xem qua trong thời gian ngắn để nhìn cách bố trí thông tin và sắp xếp các mục liên quan. Cảm giác là trình bày khá gọn, các phần rõ ràng nên đọc lướt cũng không bị rối, với mình như vậy là đủ để nắm thông tin cơ bản rồi.
Mình có lần lướt đọc mấy trao đổi trên mạng thì thấy có người để link https://gg88.hu.net/ trong lúc câu chuyện đang nói dở, nên cũng tò mò mở ra xem thử cho biết. Mình không tìm hiểu sâu, chỉ xem qua trong thời gian ngắn để nhìn bố cục và cách sắp xếp nội dung tổng thể, cảm giác khá gọn và dễ theo dõi nên mình đọc lướt rồi quay lại đọc các bình luận khác.
Hôm qua, trong lúc tìm hiểu về các nền tảng giải trí trực tuyến, mình tình cờ thấy nhắc đến trang chủ dn88. Mình mở ra xem thử, giao diện khá thân thiện, dễ nhìn, không bị rối mắt. Có một số mục rất dễ tìm, nhưng cũng có vài chỗ cần thời gian để làm quen. So với những trang mình đã thử trước đó, mình thấy tốc độ tải trang ở đây nhanh hơn hẳn, điều này khá quan trọng khi mình không muốn phải chờ đợi lâu. Mình đã bookmark lại để xem tiếp, có vẻ như nơi này có nhiều thông tin thú vị để khai thác.
Mình có lần lướt đọc mấy trao đổi trên mạng thì thấy có người để link https://fun88cd.in.net/ trong lúc câu chuyện đang nói dở, nên cũng tò mò mở ra xem thử cho biết. Mình không tìm hiểu sâu, chỉ xem qua trong thời gian ngắn để nhìn bố cục và cách sắp xếp nội dung tổng thể. Cảm giác là trình bày khá gọn và dễ theo dõi, đọc lướt cũng không bị rối nên mình quay lại đọc các bình luận khác.
Mình có lần lướt đọc mấy trao đổi trên mạng thì thấy nhắc tới 58win vip , nên cũng tò mò mở ra xem thử cho biết. Mình không tìm hiểu sâu, chỉ xem qua trong thời gian ngắn để nhìn bố cục và cách sắp xếp nội dung tổng thể. Cảm giác là trình bày khá gọn, các mục rõ ràng nên đọc lướt cũng không bị rối, với mình như vậy là đủ để nắm thông tin cơ bản rồi.