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}}})


Tối qua mình đọc các bình luận trao đổi trên một diễn đàn, mình bắt gặp king88b được chèn vào giữa câu chuyện. Mình bấm thử xem cho biết, chủ yếu là để xem cách trình bày và cấu trúc nội dung. Lướt nhanh thì thấy tổng thể khá gọn gàng, tạo cảm giác đáng tin cậy. Xem xong mình quay lại đọc tiếp các bình luận khác, chứ cũng không đào sâu thêm
Mình có cảm giác F168 đang đi theo hướng phát triển ổn định thay vì thay đổi ồ ạt. Bước sang 2026, tốc độ tải và thao tác mượt hơn khá rõ khi dùng cả điện thoại lẫn máy tính. Kho trò chơi cũng được mở rộng thêm nên không bị lặp lại như trước. Có lần mình vào lại https://f168.today/ để xem thử cập nhật thì thấy phản hồi khá nhanh. Với mình, sự cải thiện đều đặn như vậy tạo cảm giác lâu dài, nên f168today gần đây cũng được nhắc đến nhiều hơn.
Mỗi khi có chút thời gian rảnh, mình hay xem qua một vài nền tảng giải trí trực tuyến để cảm nhận cách họ sắp xếp nội dung. Trước đây mình khá thoải mái với việc truy cập, nhưng sau vài lần gặp trang không đúng mong đợi thì bắt đầu chú ý hơn đến link. jun88n.com là một địa chỉ mình biết đến trong lúc tìm hiểu thông tin tổng quan. Cách trình bày trên trang khá gọn, các mục được chia rõ nên dễ theo dõi. Mình đọc để nắm ý chính là đủ. Việc nhận diện đúng địa chỉ giúp mình cảm thấy chủ động hơn khi sử dụng, và jun88ncom theo thời gian cũng trở nên quen…
Khi đang đọc các bình luận trao đổi trên một diễn đàn, mình bắt gặp đường chỉ dẫn 98win casino Mình bấm thử xem cho biết, chủ yếu là để xem cách trình bày và cấu trúc nội dung. Thấy rằng mọi thứ khá gọn gàng, các mục phân chia rõ ràng, nên việc đọc lướt không hề gây rối. Cảm giác như vậy là đủ để mình có cái nhìn tổng quát về thông tin rồi.
Khi đang đọc các bình luận trao đổi trên một diễn đàn, mình bắt gặp đường chỉ dẫn 789club Mình bấm thử xem cho biết, chủ yếu là để xem cách trình bày và cấu trúc nội dung. Thấy rằng mọi thứ khá gọn gàng, các mục phân chia rõ ràng, nên việc đọc lướt không hề gây rối. Cảm giác như vậy là đủ để mình có cái nhìn tổng quát về thông tin rồi.