zoukankan      html  css  js  c++  java
  • MongoDB数据库在centos下的操作

    简介

    MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

    Centos下安装

    下载:wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.4.tgz
    解压:tar zxvf mongodb-linux-x86_64-4.0.4.tgz
    移动文件:mv ./mongodb-linux-x86_64-4.0.4 /usr/local/mongodb
    进入home创建俩文件夹:mkdir mongodb  ;  mkdir mongodblog
    进入mongodblog创建log日志:vi mongodb.log
    进入mongodb:cd /usr/local/  ; cd mongodb/  ;  cd bin/  ;  cd ..
    启动mongo:./bin/mongod --dbpath /home/mongdb/ --logpath /home/mongodblog/mongodb.log --fork --port 27017

    指令

    show dbs    --查询所有数据库
    use youdb  --切换/创建数据库
    db.getName()  --查看当前数据库名
    db.createCollection("youcollection")  --创建集合
    show collections  --查询所有集合
    db.youcollection.save({name:"Jack",age:18,msg:"good"})  --增加
    db.youcollection.find({age:18})  --查询
    db.youcollection.find({age:{$gt:10}})  --查询age>20
    db.youcollection.find({age:{$gte:10}})  --查询age>=20
    db.youcollection.find({age:{$lt:10}})  --查询age<10
    db.youcollection.find({age:{$lte:10}})  --查询age<=10
    db.youcollcetion.find({age:{$gt:16,$lt:20}})  --查询age>16并且<20
    db.youcollcetion.find({$and:[{age:18},{name:"Jack"}]})    --且查询
    db.youcollcetion.find({$or:[{age:18},{name:"Jack"}]})    --或查询
    db.youcollection.distinct("age")     --去重
    db.youcollcetion.find().skip(2).limit(2)   --跳过第2个查询2条
    db.youcollcetion.find().count()  --查询总条数
    db.youcollection.remove({age:18})  --删除
    db.youcollection.update({name:"Jack"},{$set:{age:20},flase,true)   --修改

    nodejs下创建实例

    var mongo = require("mongodb").MongoClient
    var url = "mongodb://127.0.0.1:27017/test1"
    
    //
    function insert(coll,obj,callback){
    mongo.connect(url,function(err,db){
    if(err == null){
    var database = db.db("test1")
    database.collection(coll).insertOne(obj,callback)
    db.close()
    }else{
    console.log(err)
    }
    })
    }
    
    //批量增
    function insertMany(coll,arr,callback){
    mongo.connect(url,function(err,db){
    if(err == null){
    var database = db.db("test1")
    database.collection(coll).insertMany(arr,callback)
    db.close()
    }else{
    console.log(err)
    }
    })
    }
    
    //
    function find(coll,where,callback){
    mongo.connect(url,function(err,db){
    if(err == null){
    var database = db.db("test1")
    database.collection(coll).find(where).toArray(callback)
    db.close()
    }else{
    console.log(err)
    }
    })
    }
    
    //
    function update(coll,where,update,callback){
    mongo.connect(url,function(err,db){
    if(err == null){
    var database = db.db("test1")
    database.collection(coll).updateOne(where,update,callback)
    db.close()
    }else{
    console.log(err)
    }
    })
    }
    
    //
    function deleted(coll,where,callback){
    mongo.connect(url,function(err,db){
    if(err == null){
    var database = db.db("test1")
    database.collection(coll).deleteOne(where,callback)
    db.close()
    }else{
    console.log(err)
    }
    })
    }
    
    //导出模块
    module.exports = {
    insert,
    insertMany,
    find,
    update,
    deleted,
    }
     



  • 相关阅读:
    微服务架构技术栈选型手册(万字长文)
    Visual Studio 2013 always switches source control plugin to Git and disconnect TFS
    Visual Studio 2013 always switches source control plugin to Git and disconnect TFS
    MFC对话框中使用CHtmlEditCtrl
    ATL开发 ActiveX控件的 inf文件模板
    ActiveX: 如何用.inf和.ocx文件生成cab文件
    Xslt 1.0中使用Array
    如何分隔两个base64字符串?
    An attempt was made to load a program with an incorrect format
    JQuery 公网 CDN
  • 原文地址:https://www.cnblogs.com/Anderson-An/p/10188341.html
Copyright © 2011-2022 走看看