一、数据库操作
1. 切换或创建数据库
使用`use`命令切换到指定数据库,若该数据库不存在,在首次插入数据时会自动创建。
use myDatabase
2. 查看所有数据库
使用`show dbs`命令查看 MongoDB 实例中的所有数据库。
show dbs
3. 删除当前数据库
使用`db.dropDatabase()`命令删除当前使用的数据库。
db.dropDatabase();
二、集合操作
1. 创建集合
使用`db.createCollection()`方法创建集合,也可以不手动创建,插入文档时若集合不存在会自动创建。
db.createCollection("myCollection");
2. 查看所有集合
使用`show collections`命令查看当前数据库中的所有集合。
show collections
3. 删除集合
使用`db.collection.drop()`方法删除指定集合。
db.myCollection.drop();
三、文档操作
1. 插入文档
1.1 插入单个文档
使用`db.collection.insertOne()`方法插入单个文档。
db.myCollection.insertOne({ name: "John", age: 30 });
1.2 插入多个文档
使用`db.collection.insertMany()`方法插入多个文档。
db.myCollection.insertMany([{ name: "Alice", age: 25 },{ name: "Bob", age: 35 },]);
2. 查询文档
2.1 查询所有文档
使用`db.collection.find()`方法查询集合中的所有文档。
db.myCollection.find();
2.2 条件查询
在`find()`方法中传入查询条件对象,可根据条件查询文档。查询`age`大于 30 的文档
db.myCollection.find({ age: { $gt: 30 } });
2.3 投影查询
可指定返回的字段,第二个参数传入投影对象,值为 1 表示返回该字段,值为 0 表示不返回。
db.myCollection.find({ age: { $gt: 30 } }, { name: 1, _id: 0 });
3. 更新文档
3.1 更新单个文档
使用`db.collection.updateOne()`方法更新符合条件的第一个文档。`$set`是更新操作符,用于设置字段的值。
db.myCollection.updateOne({ name: "John" }, { $set: { age: 31 } });
3.2 更新多个文档
使用`db.collection.updateMany()`方法更新所有符合条件的文档。将`age`小于 30 的所有文档的`age`字段加 1,`$inc`是更新操作符,用于增加字段的值。
db.myCollection.updateMany({ age: { $lt: 30 } }, { $inc: { age: 1 } });
4. 删除文档
4.1 删除单个文档
使用`db.collection.deleteOne()`方法删除符合条件的第一个文档。
db.myCollection.deleteOne({ name: "Alice" });
4.2 删除多个文档
使用`db.collection.deleteMany()`方法删除所有符合条件的文档。
db.myCollection.deleteMany({ age: { $gt: 35 } });
四、索引操作
1. 创建索引
使用`db.collection.createIndex()`方法为指定字段创建索引。为`name`字段创建升序索引,`1`表示升序,`-1`表示降序。
db.myCollection.createIndex({ name: 1 });
2. 查看索引
使用`db.collection.getIndexes()`方法查看集合的所有索引。
db.myCollection.getIndexes();
3. 删除索引
使用`db.collection.dropIndex()`方法删除指定索引。
db.myCollection.dropIndex({ name: 1 });