MongDB 操作
Posted willinsist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongDB 操作相关的知识,希望对你有一定的参考价值。
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。它的特点:高性能、易部署、易使用,存储数据非常方便。
安装
windows下安装
一、下载地址
二、命令行下运行 MongoDB 服务器
为了从命令提示符下运行MongoDB服务器,你必须从MongoDB目录的bin目录中执行mongod.exe文件。
或者将bin目录配置到环境变量path中。
在c盘下创建db文件夹,终端中进入mongo的安装目录的bin下,然后终端中执行下面的命令,就可以启动mongo服务器了
> mongod --dbpath c:db
三、MongoDB后台管理 Shell (控制台中使用mongo)
> mongo
Mac 系统上安装
一、安装 在Mac OS上面安装MongoDB,你可以通过编译源代码来安装 ,也可以在Mac OS上使用Homebrew安装。 这里介绍使用Homebrew安装MongoDB。 首先更新Homebrew的package数据库:
$ brew update
$ brew install mongodb
二、启动MongoDB
$ mongod --config /usr/local/etc/mongod.conf
三、使用MongoDB
$ mongo
一个mongodb中可以建立多个数据库。MongoDB的默认数据库为"db",该数据库存储在data目录中。 MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。
数据库命名:通过标识符,一般是utf-8字符串,不能为空,不能用local/admin/config这三个
mongo的基础指令
mongo的基础指令
show dbs 获取你当前所有的数据库
use dataBase_name 创建数据库(没有-创建/存在-使用)
db 指查询你当前的数据库
db.stats() 查询你当前数据库的状态
db.dropDatabase() 删除你当前的数据库
db.help() 查询帮助
db.version() 获取你当前数据库的版本
db.collection_name.help() 查询任意集合可以使用方法的帮助
db.collection_name.find() 查询你当前集合内的信息
使用 use music 创建数据库
创建数据库之后查看没有出现music,
需要写入一个文档集合album;
insert插入
db.album.insertOne({‘title’:’xxxx’}),
查看采用db.album.find();
插入多条数据insertMany([{},{},{}])
在js 中操作 mongodb
需要 本地安装mongodb
npm i monggodb -D
创建一个js文件写入下面代码
//要在 MongoDB 中创建一个数据库,
//首先我们需要创建一个 MongoClient 对象,然后配置好指定的 URL 和 端口号。
//
//如果数据库不存在,MongoDB 将创建数据库并建立连接
//连接数据库,创建集合
var MongoClient = require(‘mongodb‘).MongoClient;
var url = ‘mongodb://localhost:27017/‘;
var dbname = ‘test‘;
MongoClient.connect(url, function (err, db) {
if (err) throw err;
console.log(‘数据库已创建‘);
var dbase = db.db(dbname);
dbase.createCollection(‘site‘, function (err, res) {
if (err) throw err;
console.log("创建集合!");
db.close();
});
});
插入(增加)数据
//插入数据
//向user表中插入数据
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db(dbname);
var myobj = { username: "zs", password: "123" };
dbo.collection("user").insertOne(myobj, function(err, res) {
if (err) throw err;
console.log("文档插入成功");
//插入的数据产生的结果
console.log(res])
db.close();
});
});
插入多条数据
//插入多条数据
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db(dbname);
var myobj = [
{ username: ‘lisi‘, password: ‘1111‘, type: ‘1‘},
{ username: ‘wangwu‘, password: ‘222‘, type: ‘2‘}
];
dbo.collection("user").insertMany(myobj, function(err, res) {
if (err) throw err;
console.log("插入的文档数量为: " + res.insertedCount);
console.log(res)
db.close();
});
});
查询数据
//查询数据
//可以使用 find() 来查找数据, find() 可以返回匹配条件的所有数据。
//如果未指定条件,find() 返回集合中的所有数据。
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db(dbname);
dbo.collection("user"). find({}).toArray(function(err, result) { // 返回集合中所有数据
if (err) throw err;
console.log(‘查询成功‘+result.length);//结果为数组
db.close();
});
});
查询指定条件
//查询指定条件的数据
//查询用户名为 lisi的用户
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db(dbname);
var whereStr = {"username":‘lisi‘}; // 查询条件
dbo.collection("user").find(whereStr).toArray(function(err, result) {
if (err) throw err;
console.log(‘查询lisi成功‘+result);
db.close();
});
});
更新数据
//更新一条数据
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db(dbname);
var whereStr = {"username":‘lisi‘}; // 查询条件
var updateStr = {$set: { "password" : "test" }};
dbo.collection("user").updateOne(whereStr, updateStr, function(err, res) {
if (err) throw err;
console.log("文档更新成功");
db.close();
});
});
// 更新多条数据
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db(dbname);
var whereStr = {"username":‘lisi‘}; // 查询条件
var updateStr = {$set: { "password" : "test222" }};
dbo.collection("user").updateMany(whereStr, updateStr, function(err, res) {
if (err) throw err;
console.log("文档更新成功");
console.log(‘插入多条成功 ,‘+res.result.nModified + " 条文档被更新");
db.close();
});
});
排序
//排序 使用 sort() 方法,该方法接受一个参数,规定是升序(1)还是降序(-1)。
//{ _id: 1 } // 按 _id 字段升序
//{ _id: -1 } // 按 _id 字段降序
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db(dbname);
var mysort = { _id: 1 };
dbo.collection("user").find().sort(mysort).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
查询分页
//如果要设置指定的返回条数可以使用 limit() 方法,该方法只接受一个参数,
//指定了返回的条数。
// limit():读取两条数据
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db(dbname);
dbo.collection("user").find().limit(2).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
//如果要指定跳过的条数,可以使用 skip() 方法。
//skip(): 跳过前面两条数据,读取两条数据
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db(dbname);
dbo.collection("user").find().skip(2).limit(2).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
以上是关于MongDB 操作的主要内容,如果未能解决你的问题,请参考以下文章
C# Mongdb 之MongDb.Driver的 UpdateReault 参数解析
C# Mongdb 之MongDb.Driver的 UpdateReault 参数解析
C# Mongdb 之MongDb.Driver的 UpdateReault 参数解析