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ó dự định đi hành hương núi Sam vào cuối tuần này nên tra cứu thử https://thoitiethomnay.org/an-giang/ để xem tình hình thời tiết trước khi lên kế hoạch. Trang hiển thị khá rõ khả năng mưa theo từng ngày, giúp mình chọn được ngày đi phù hợp, tránh những hôm mưa lớn ảnh hưởng đến việc leo núi. Load nhanh, xem được ngay dù đang dùng mạng di động. Giao diện đơn giản, không mất nhiều thời gian tìm thông tin cần thiết. Nếu bạn cũng có kế hoạch đi An Giang trong thời gian tới, nên tra cứu trước để chủ động chuẩn bị đồ đạc phù hợp.
My friend group likes sharing fun browser games in our chat, and https://thedriftboss.com/ has been the most shared one lately. Everyone's been comparing scores, and it's rarely the same twice since the increasing difficulty makes each run feel a bit different. The site loads fast across every device we've used, from old phones to newer laptops, nobody's run into loading issues.
https://fun79.ink/ Mình cũng thấy bạn bè nhắc khá nhiều nên ghé vào xem thử cho biết. Mình chủ yếu lướt nhanh chứ không đọc quá kỹ, nhưng ấn tượng đầu tiên là giao diện khá dễ nhìn, nội dung chia thành từng phần rõ ràng nên kéo xuống không bị rối. Phần giới thiệu có heading lớn, các block tách bạch nên đọc lướt cũng dễ nắm được ý chính. Nhìn chung thao tác qua lại giữa các mục khá mượt, bố cục gọn gàng và dễ theo dõi.
Trong quá trình so sánh nhiều nền tảng giải trí trực tuyến, sc88 mang lại cho mình cảm nhận khá tích cực nhờ sự đa dạng trong sản phẩm nhưng vẫn giữ được sự rõ ràng trong giao diện. Các nhóm nội dung như thể thao, casino trực tuyến, bắn cá, game bài và nổ hũ được bố trí khoa học, giúp người dùng dễ dàng lựa chọn theo nhu cầu cá nhân. Mình nhận thấy cách trình bày thông tin khá trực quan, phù hợp với cả những phiên truy cập nhanh và quá trình khám phá lâu dài. Trong lúc trải nghiệm, tốc độ tải duy trì ổn định, thao tác sử dụng khá nhẹ và khả năng hiển…
ฉันบังเอิญเห็นการพูดถึง fun 88 ขณะที่กำลังอ่านบทความแชร์ประสบการณ์บางส่วนบนอินเทอร์เน็ต จึงลองเปิดเข้าไปดู ฉันไม่ได้ใช้เวลามากในการสำรวจเนื้อหาทั้งหมด ส่วนใหญ่จะดูวิธีการจัดวางอินเทอร์เฟซและการแบ่งหมวดหมู่ต่างๆ ความประทับใจแรกคือการจัดวางค่อนข้างเป็นระเบียบ ข้อมูลแต่ละส่วนถูกจัดเรียงเป็นกลุ่มๆ ทำให้โดยรวมดูติดตามได้ง่าย และไม่ให้ความรู้สึกว่ามีเนื้อหาจำนวนมากถูกอัดรวมไว้ในจุดเดียว ฉันยังสังเกตว่าการเปลี่ยนไปมาระหว่างแต่ละหมวดหมู่ค่อนข้างสะดวก เนื่องจากแถบนำทางถูกจัดวางไว้อย่างชัดเจน