mongoDB基礎操作
創建/插入
db.collection.insertOne({doc}): 插入單個文檔。=
db.collection.insertMany([{doc1}, {doc2}]): 插入多個文檔。
db.collection.insert({doc}): 舊版插入方法(仍可用)。
查詢
db.collection.find(query, projection): 查詢文檔。
query: 查詢條件。
projection: 投影,指定返回哪些字段(1 包含,0 排除)。
db.collection.findOne(query): 返回一個文檔。
// 查找所有
db.users.find()
// 條件查詢:年齡等于25
db.users.find({ age: 25 })
// 比較操作符:年齡大于25 ($gt)
db.users.find({ age: { $gt: 25 } })
// 邏輯操作符:年齡大于25且名字是Alice ($and)
db.users.find({ $and: [{ age: { $gt: 25 } }, { name: "Alice" }] })
// 正則查詢:名字以"A"開頭
db.users.find({ name: /^A/ })
// 投影:只返回name和age字段,不返回_id
db.users.find({}, { name: 1, age: 1, _id: 0 })
更新
db.collection.updateOne(filter, update, options): 更新匹配的第一個文檔。
db.collection.updateMany(filter, update, options): 更新所有匹配的文檔。
db.collection.replaceOne(filter, replacement): 替換整個文檔。
更新操作符:
$set: 設置字段值。
$unset: 刪除字段。
$inc: 增加字段值。
$push / $addToSet: 向數組添加元素($addToSet 防止重復)。
// 將Alice的年齡設置為26
db.users.updateOne(
{ name: "Alice" },
{ $set: { age: 26 } }
)
// 給所有年齡大于20的用戶增加1歲
db.users.updateMany(
{ age: { $gt: 20 } },
{ $inc: { age: 1 } }
)
刪除
db.collection.deleteOne(filter): 刪除匹配的第一個文檔。
db.collection.deleteMany(filter): 刪除所有匹配的文檔。
db.collection.remove(filter): 舊版刪除方法。
// 刪除名字為Bob的用戶
db.users.deleteOne({ name: "Bob" })
// 刪除所有年齡小于18的用戶
db.users.deleteMany({ age: { $lt: 18 } })

浙公網安備 33010602011771號