Mondb用法简介
1.创建集合
db.createCollection( <name>,
{
capped: <boolean>,
timeseries: { // Added in MongoDB 5.0
timeField: <string>, // required for time series collections
metaField: <string>,
granularity: <string>,
bucketMaxSpanSeconds: <number>, // Added in MongoDB 6.3
bucketRoundingSeconds: <number> // Added in MongoDB 6.3
},
expireAfterSeconds: <number>,
clusteredIndex: <document>, // Added in MongoDB 5.3
changeStreamPreAndPostImages: <document>, // Added in MongoDB 6.0
size: <number>,
max: <number>,
storageEngine: <document>,
validator: <document>,
validationLevel: <string>,
validationAction: <string>,
indexOptionDefaults: <document>,
viewOn: <string>,
pipeline: <pipeline>,
collation: <document>,
writeConcern: <document>
}
)
创建语法详细请看官网db.createCollection() — MongoDB Manual
db.createCollection("items",{capped:true,size:2048,max:12})
2.查看集合
show tables;
或
show collections;
3.删除集合
db.collectionName.drop()
#drop the collection
db.items.drop()
4.插入文档
从mongodb官网看出,插入文档支持3钟方式
1.插入单个文档
db.collection.insertOne(
<document>,
{
writeConcern: <document>
}
)
2.批量插入
db.collection.insertMany(
[ <document 1> , <document 2>, ... ],
{
writeConcern: <document>,
ordered: <boolean>
}
)
3.万能插入(可以一次性插入一个或多个文档)
db.collection.insert(
<document or array of documents>,
{
writeConcern: <document>,
ordered: <boolean>
}
)
5.查询文档
db.collection.find( <query>, <projection>, <options> )
db.collection.findOne( <query>, <projection>, <options> )
mongodb支持丰富的查询过滤条件,参考Query and Projection Operators — MongoDB Manual
6.删除文档
1.删除单个文档
db.collection.deleteOne(
<filter>,
{
writeConcern: <document>,
collation: <document>,
hint: <document|string> // Available starting in MongoDB 4.4
}
)
2.删除多个文档
db.collection.deleteMany(
<filter>,
{
writeConcern: <document>,
collation: <document>
}
)
3.删除与指定筛选器匹配的单个文档或所有文档。
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>,
collation: <document>,
let: <document> // Added in MongoDB 5.0
}
)
7.更新文档
1.最多更新一个匹配指定筛选器的文档,即使多个文档可能匹配指定筛选器。
db.collection.updateOne(
<filter>,
<update>,
{
upsert: <boolean>,
writeConcern: <document>,
collation: <document>,
arrayFilters: [ <filterdocument1>, ... ],
hint: <document|string> // Available starting in MongoDB 4.2.1
}
)
2.更新与指定筛选器匹配的所有文档。
db.collection.updateMany(
<filter>,
<update>,
{
upsert: <boolean>,
writeConcern: <document>,
collation: <document>,
arrayFilters: [ <filterdocument1>, ... ],
hint: <document|string> // Available starting in MongoDB 4.2.1
}
)
3.最多替换一个匹配指定筛选器的文档,即使多个文档可能匹配指定筛选器。
db.collection.replaceOne(
<filter>,
<replacement>,
{
upsert: <boolean>,
writeConcern: <document>,
collation: <document>,
hint: <document|string> // Available starting in 4.2.1
}
)
4.更新或替换匹配指定筛选器的单个文档,或更新匹配指定筛选器的所有文档。
默认情况下,db.collection.update()方法更新单个文档。要更新多个文档,请使用multi选项。
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>,
collation: <document>,
arrayFilters: [ <filterdocument1>, ... ],
hint: <document|string> // Available starting in MongoDB 4.2
}
)
以上语句将原来name="lisi"的person修改为“wangwu”,并将其年龄+2
文档更新同样支持非常复杂的语句,参考官网Update Operators — MongoDB Manual
8.聚集运算
db.collection.aggregate( <pipeline>, <options> )
1.过滤年龄大于25
2.根据name分组,并计算年龄总和
聚集运算支持非常复杂的语句,参考官网Aggregation Pipeline Stages — MongoDB Manual