简介

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

MongoDB数据库在centos下的操作的更多相关文章

  1. centos 下mysql操作

    MySQL名字的来历MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度 快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为 ...

  2. Centos下MariaDB操作

    MariaDB简介 MariaDB是mysql数据库的一个分支,操作几乎和mysql一样 MariaDB安装.启动.停止 # 安装 yum -y install mariadb mariadb-ser ...

  3. CentOS 下安装操作Memcached

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  4. mongoDB数据库文件路径和数据操作

    1.查看MongoDB在电脑上的安装路径 which mongod 2.默认mongodb 数据文件是放到根目录 data/db 文件夹下,如果没有这个文件,需要自行创建 mkdir -p /data ...

  5. nodejs对mongodb数据库的增删改查操作(转载)

    首先要确保mongodb的正确安装,安装参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-l ...

  6. 69.nodejs对mongodb数据库的增删改查操作

    转自:https://www.cnblogs.com/sexintercourse/p/6485381.html 首先要确保mongodb的正确安装,安装参照:http://docs.mongodb. ...

  7. Django 模型(数据库)-cmd下的操作

    Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py ...

  8. tomcat在centos下的操作

    一 .Tomcat启动与停止 进入Tomcat中bin所在目录 cd /usr/tomcat/bin 启动: ./startup.sh 停止: ./shutdown.sh 平常可以用这个命令来查看to ...

  9. 【转载】CentOS6.5_X64下安装配置MongoDB数据库

    [转载]CentOS6.5_X64下安装配置MongoDB数据库 2014-05-16 10:07:09|  分类: 默认分类|举报|字号 订阅      下载LOFTER客户端 本文转载自zhm&l ...

随机推荐

  1. 多个SpringMVC项目配置统一管理(来自于springCloud的统一配置思路)

    因公司项目分多个系统进行开发,而系统架构几乎完全一样,所以同样的配置文件会存在不同的系统中 当其中的某些配置需要修改时,就需要依次把所有系统中相关的配置都修改掉 纯耗时且没技术含量的体力活 所以借鉴S ...

  2. 【小程序开放激励视频】--wepy小程序添加激励视频

    小程序开放激励视频是对小程序开发者一个福音,小程序开发者可以完成一些变现,以增加收入! 本文章针对已经有开发经验或者正在进行小程序开发的同学~ 官方文档:激励视频广告 定义页面变量,用于创建视频实例 ...

  3. ping端口是否开放(windows,macos,linux)

    windows中ping端口:tcping命令 1. tcping 非自带命令,首先安装tcping命令,也可以去官网:http://www.elifulkerson.com/projects/tcp ...

  4. 玄武短信接口和移动MAS短信接口的API封装

    直接上代码,关键点: 133行的敏感词过滤 176行的6位扩展码写入 using System; using System.Collections.Generic; using System.Linq ...

  5. 利用VS2017跨平台远程调试aspnetcore应用

    vs2017开始支持跨平台远程调试coreclr的应用,通常用于调试linux与mac上运行的aspnetcore程序,而如果运行在docker中的应用 要使用跨平台远程调试功能,首先运行corecl ...

  6. Python中的 // 与 / 的区别

    " / " 表示浮点数除法,返回浮点结果;" // " 表示整数除法,返回不大于结果的一个最大的整数 [code] print("6 // 4 = & ...

  7. 集合框架_DAY16

    1:List及其子类(掌握)     (1)List的特点:     Collection    |--List:元素有序(存入顺序和取出顺序一致),可重复.    |--Set:元素无序,唯一.   ...

  8. RabbitMQ AMQP (高级消息队列协议)

    目录 RabbitMQ AMQP (高级消息队列协议) Message Queue 简介 概念 基本组成 场景及作用 AMQP简介 模型架构 基础组件 AMQP-RabbitMQ 简介 模型 特性 参 ...

  9. Java 多线程学习笔记:wait、notify、notifyAll的阻塞和恢复

    前言:昨天尝试用Java自行实现生产者消费者问题(Producer-Consumer Problem),在coding时,使用到了Condition的await和signalAll方法,然后顺便想起了 ...

  10. SpringSecurity学习之快速上手

    互联网项目中,安全与权限控制是不可回避的问题,为了解决这一些列问题,许多安全框架应运而生了.这些框架旨在帮我们解决公用的安全问题,让我们的程序更加健壮,从而让程序员全身心投入到业务开发当中.那么Spr ...