mongoDB
MongoDB、HBase、Redis 等 NoSQL 优劣势、应用场景
云数据库MongoDB版支持单节点、副本集和分片集群三种部署架构,具备安全审计、时间点备份等多项企业能力。 在互联网、物联网、游戏、金融等领域被广泛采用。 1)弱一致性(最终一致),更能保证用户的访问速度 2)查询与索引方式灵活,是最像SQL的Nosql 3)内置GridFS,支持大容量的存储 4)内置Sharding,支持复制集、主备、互为主备、自动分片等特性 5)第三方支持丰富 6)性能优越
Install mongodb on centOS #vim /etc/yum.repos.d/mongodb-org-8.0.repo [mongodb-org-8.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/8.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-8.0.asc #yum update #yum install mongodb-org #systemctl start mongod Install mongoDB on Ubuntu curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \ sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \ --dearmor echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list sudo apt-get install -y mongodb-org systemctl daemon-reload systemctl start mongod 安装测试数据 curl -LO https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/primer-dataset.json mongoimport --db test --collection restaurants --file /tmp/primer-dataset.json mongo > db.restaurants.find().limit(1).pretty() > db.restaurants.drop() mongosh --host localhost:27017 -u root -p 'yourpassword' show dbs use test db.dropdatabase() show collections db.restaurants.drop() db.stu.insert({name:'zhangsan', gender:1}) db.stu.insert({_id:"20170101", name:'zhangsan', gender:1}) db.stu.save() db.stu.find({name:'zhangsan'}) db.stu.findOne({age:20}) db.stu.update({name:'zhangsan', {name:'wangwu'}}) 更新匹配的第一条,其他值会被删除 db.stu.update({name:'zhangsan', {$set:{name:'hys'}}}) 更新匹配的第一条,其他值不会被删除 db.stu.update{{}, {$set:{gender:0}}, {multi:true}} 跟新全部,其他值不会被删除 db.stu.remove({name:'wangwu'}, {justOne:true}) 删除一条 db.stu.remove({gender:2}) 删除全部 db.stu.find({age: {$gte:18}}) db.stu.find({age:{$in:[18,28]}}) db.stu.find({age:{$gte:18}, sex:1}) db.stu.find({$or:[{age:{$gt:18}}, {sex:1}]}) db.stu.find({name:/^xiao/}) db.stu.find({name:{$regex:'^xiao'}}) db.stu.find().limit(2) db.stu.find().skip(2) db.stu.find().limit(1).skip(2) db.stu.find().limit(2).skip(1) db.stu.find().sort({sex:-1,age:1}) db.stu.find({sex:1}).count() db.stu.count({age:{$gt:20},sex:1}) db.stu.distinct('sex', {age: {$gt:18}})