MongoDB是一个基于分布式文件存储的数据库。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
MongoDB中的文档即数据,数据的形式类似于JSON,但又不同于JSON,实为BSON(Binary JSON),一种类似JSON的二进制形式。
MongoDB数据库结构:数据库->collection->Document
MongoDB存储同样的数据比Mysql占用的空间大。
1、库级操作语句
显示所有库:show dbs
切换/创建数据库:use 数据库名
查看所在库:db
删除库:db.dropDatabase()
2、集合操作语句
创建集合:db.createCollection(‘students’)
查看集合:show collections
创建集合并插入一条文档:db.students.insert({‘name’: ‘g1’})
插入多条文档:db.students.insert([
{‘name’: ‘g2’, ‘age’: 18},
{‘name’: ‘g3’, ‘age’: 20},
{‘name’: ‘g4’, ‘age’: 22}
])
删除集合:db.student.drop()
查看集合内容: db.student.find()
查找符合条件的数据:
db.student.find({age:18}) ->单条件查询 。
db.student.find({age:{"KaTeX parse error: Expected 'EOF', got '}' at position 8: gte":18}̲}) ->查找大于18岁 …and’: [{‘name’: ‘g3’}, {‘age’: 20}] } )
or条件:db.students.find( {‘KaTeX parse error: Expected 'EOF', got '}' at position 38: …{'age': 20}] }̲ ) and和or条件…or’: [ {‘KaTeX parse error: Expected 'EOF', got '}' at position 39: …{'age': 18}] }̲, {'and’: [{‘name’: ‘g3’}, {‘age’: 20}] } ] })
同上and和or条件:
db.students.find(
{‘KaTeX parse error: Expected '}', got 'EOF' at end of input: … {'and’: [
{‘name’: ‘g2’},
{‘age’: 18}
]},
{’$and’: [
{‘name’: ‘g3’},
{‘age’: 20}
]}
]}
)
3、修改数据
重写数据:db.student.update({age:21},{age:66}) ->只修改同条件的第一条数据,会覆盖这条数据的其他的属性
修改属性:db.student.update({age:21},{KaTeX parse error: Expected 'EOF', got '}' at position 13: set:{age:66}}̲) ->只修改同条件的第一条…set:{age:66}},{multi:true})
4、删除数据–>(默认删除符合条件的所有数据)
删除符合条件的所有数据:db.student.remove({age:26})
删除同条件的一条数据:db.student.remove({age:26},{justOne:true})
删除集合里所有的文档:db.student.remove({})