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,
    }
     



  • 相关阅读:
    PowerShell2.0之与COM对象交互(二)Word自动化
    PowerShell2.0之与COM对象交互(三)Excel自动化
    PowerShell 2.0之使用WMI管理Windows(一)WMI基础
    PowerShell2.0之与COM对象交互(五)与脚本宿主代码协同工作
    PowerShell2.0之与COM对象交互(四)IE自动化
    PowerShell2.0之与COM对象交互(一)COM基础
    php中一些常用的语句收集
    NET第三方控件AspNetPager设置样式
    JAVAMyEclipse 自动提示(按alt+/)时假死现像
    NET数据访问基础类(基于OleDb)
  • 原文地址:https://www.cnblogs.com/Anderson-An/p/10188341.html
Copyright © 2011-2022 走看看