本文共 2435 字,大约阅读时间需要 8 分钟。
MongoDB是一款基于分布式存储的开源数据库系统,常被称为文档数据库。与传统的关系型数据库不同,MongoDB将数据存储为文档形式,每个文档由键值对(key-value pairs)组成,类似于JSON对象(BSON转化为JSON格式)。其内置执行引擎采用JS解释器,将文档存储为BSON格式,并在查询时将其转换为JS对象,使开发者能够利用熟悉的JS语法进行操作。
# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.4.tgz
# tar -xvf mongodb-linux-x86_64-rhel70-3.4.4.tgz -C /usr/local
进入解压目录并重命名:
# cd /usr/local# mv mongodb-linux-x86_64-rhel70-3.4.4 mongodb# cd mongodb
创建数据目录并启动服务:
# mkdir -p /home/mongodata/{dbpath}/var/log/mongolog/# ./bin/mongod --dbpath /home/mongodata/ --logpath /var/log/mongolog/mongo.log --fork --port 27017
# ./bin/mongo
注意:在老版本中,MongoDB在启动时会占用较多磁盘空间,建议使用--smallfiles
选项减少占用空间至400MB左右。
> show dbs
> use local
> use shop# 或直接使用 use 后的数据库名称(库会自动创建)
> db.createCollection('user')
> db.user.insert({name: '张三', age: 18})
> db.user.insert([{name: '李四', age: 20}, {name: '王五', age: 25}])
> db.user.insert({_id: 2, name: '赵六', age: 30})
> db.user.find()
> db.user.find({},{name: 1}) # 查询name字段> db.user.find({},{name: 1, _id: 0}) # 查询name字段,忽略_id
> db.user.remove({name: '张三'})
> db.user.remove()
> db.user.remove({name: '李四', age: 20}, true)
> db.collection.insert({sn: '001', name: '小明'})
> db.collection.insert([{sn: '002', name: '小红'},{sn: '003', name: '小蓝'}])
> db.collection.insert({_id: 2, sn: '004', name: '小强'})
> db.collection.remove({sn: '002'})
> db.collection.remove()
> db.collection.remove({name: '张三'}, true)
> db.collection.update({name: '张三'}, {$set: {name: '张三变了'}})
> db.collection.update({name: '张三'}, {$set: {name: '张三变了'}}, {multi: true})
> db.collection.update({_id: 100}, {name: '李四'}, {upsert: true})
> db.collection.find()
> db.collection.find({},{name: 1}) # 查询name字段> db.collection.find({},{name: 1, _id: 0}) # 忽略_id字段
--smallfiles
选项减少占用空间。multi
选项可修改多行。通过以上操作,您可以快速上手MongoDB,熟悉其文档数据库的特点和操作方式。
转载地址:http://dsffk.baihongyu.com/