CRUD ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ MongoDB
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
db.books.insertOne(
{
title: "gRPC: Π·Π°ΠΏΡΡΠΊ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Go ΠΈ Java Π΄Π»Ρ Docker ΠΈ Kubernetes",
author: "ΠΠ°ΡΡΠ½ ΠΠ½Π΄ΡΠ°ΡΠΈΡΠΈ",
year: 2020
}
)
{
acknowledged: true,
insertedId: ObjectId("635988799c0531ba95d3586d")
}
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
db.books.insertMany(
[
{title:"Go: ΠΈΠ΄ΠΈΠΎΠΌΡ ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ",author:"ΠΠΎΠ΄Π½Π΅Ρ ΠΠΆΠΎΠ½","year":2022},
{title:"ΠΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°",author:"ΠΠ»Π΅ΠΏΠΏΠΌΠ°Π½ ΠΠ°ΡΡΠΈΠ½",year:2021}
]
)
ΠΠΎΠΈΡΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
Query
// ΠΠ°ΠΉΡΠΈ Π²ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ
db.books.find()
// ΠΠ°ΠΉΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ
db.books.find({year: 2021})
// ΠΠ°ΠΉΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° ΠΊΠΎΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅
db.books.find({year: {$gte: 2021}})
// ΠΠ°ΠΉΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° ΠΊΠΎΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΈ Π²Π΅ΡΠ½ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ
db.books.findOne({year: {$gte: 2021}})
// ΠΠ°ΠΉΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΠΠ ΠΏΠΎ Π²ΡΠΎΡΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ.
db.books.find({$or:[{year:{$gte: 2021}},{author: "ΠΠ°ΡΡΠ½ ΠΠ½Π΄ΡΠ°ΡΠΈΡΠΈ"}]})
Projection
db.books.findOne({year: {$gte: 2021}},{ title:1, _id: 0 })
db.books.findOne({year: {$gte: 2021}},{ title:0, _id: 0 })
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
db.collection.updateOne(<filter>, <update>, <options>)
db.collection.updateMany(<filter>, <update>, <options>)
db.collection.replaceOne(<filter>, <update>, <options>)
updateOne
db.books.updateOne(
{
title: "ΠΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°"
},
{$set: {rating: 5}}
)
{
acknowledged: true,
insertedId: null,
matchedCount: 1,
modifiedCount: 1,
upsertedCount: 0
}
- Update Operators reference
- Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
updateMany
db.books.updateMany(
{rating: null},
{$set:
{rating: 3}
}
)
{
acknowledged: true,
insertedId: null,
matchedCount: 2,
modifiedCount: 2,
upsertedCount: 0
}
- Π Π°Π·Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π² MongoDB ΠΏΠΎ ΡΠ°Π·Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ null. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
replaceOne
db.books.replaceOne(
{author: 'ΠΡΡΠΌΠ΅Π½ Π‘ΡΠΌ'},
{
title:"Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²",
author: "ΠΡΡΠΌΠ΅Π½ Π‘ΡΠΌ",
year: 2016,
rating:3
},
{upsert:true}
)
- ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΡΡΠ½ΡΡ Π·Π° ΡΡΠΈ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΡΠ°ΠΌΠΊΠ°Ρ
Π·Π°ΠΌΠ΅Π½Ρ. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ.
- upsert - ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²ΡΡΠ°Π²ΠΈΡΡ Π΅ΡΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
MongoDB. ΠΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ - ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ MongoDB Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΡΡΡΠ° HSE.