1、创建集合
db.createCollection(name, options)
name : 集合名称
options: 可选参数
MongoDB中也可以不用创建集合,在插入文档的时候,会自动创建集合。
2、删除集合
db.collection.drop()
3、插入文档
常用的就是insert(),还有insertOne(), insertMany()
db.COLLECTION_NAME.insert(document)
db.mySet.insert({
'title':'hello',
'content':'hello mongodb',
'time':new Date(),
'readed':0,
'del':0
})
db.getCollection('testAggre').insertMany([{
'title': 'MongoDB Overview',
'description': 'MongoDB is no sql database',
'by_user': 'runoob.com',
'url': 'http://www.runoob.com',
'tags': ['mongodb', 'database', 'NoSQL'],
'likes': 100
},
{
'title': 'NoSQL Overview',
'description': 'No sql database is very fast',
'by_user': 'runoob.com',
'url': 'http://www.runoob.com',
'tags': ['mongodb', 'database', 'NoSQL'],
'likes': 10
},
{
'title': 'Neo4j Overview',
'description': 'Neo4j is no sql database',
'by_user': 'Neo4j',
'url': 'http://www.neo4j.com',
'tags': ['neo4j', 'database', 'NoSQL'],
'likes': 750
}])
4、删除文档
delete(), deleteOne() 和 deleteMany() 方法。
db.blog.deleteOne({})
5、查询文档
db.getCollection('blog').find({'readed':{$gt:100}})
db.getCollection('blog').find({'time':{$type: 9}})
db.getCollection('blog').find({'time':{$type: 'date'}})
db.collection.find(query, projection)
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:
db.collection.find().pretty()
pretty() 方法以格式化的方式来显示所有文档。
db.getCollection('blog').find().pretty()
db.getCollection('blog').find({"title":"hello1"}).pretty()
db.getCollection('blog').find({$or:[{"title":"hello1"}, {"content":"hello mongodb"}]}).pretty()
6、更新文档
db.getCollection('blog').update({'title':'hello2'}, {$set:{'title':'hello'}})
db.getCollection('blog').update({'title':"hello3"}, {$set:{'readed':110}})
7、limit与skip方法
db.getCollection('blog').find({}, {'title':1, _id:0}).limit(2)
db.getCollection('blog').find({}, {'title':1, _id:0}).limit(1).skip(1)
8、排序sort方法
db.getCollection('blog').find({}, {'title':1, _id:0, 'readed':1}).sort({'readed':1}).pretty()
9、简单的聚合操作
db.getCollection('testAggre').aggregate([{$group:{_id:'$by_user', num_tutorial:{$sum:1}}}])
db.getCollection('testAggre').aggregate([{$group:{_id:'$by_user', num_turorial:{$sum:'$likes'}}}])
db.getCollection('testAggre').aggregate([{$group:{_id:'$by_user', url:{$push:'$url'}}}])