mongoDB
2018-06-17 20:07:42来源:未知 阅读 ()
- mongoose
入门
首先要确保你已经MongoDB的和Node.js的安装。
mongoose官网http://www.nodeclass.com/api/mongoose.html#quick_start
具体用法查文档
接下来使用npm
以下命令从命令行安装Mongoose :
$ npm install mongoose
现在说我们喜欢模糊的小猫,并且想要记录我们在MongoDB中见过的每一只小猫。我们需要做的第一件事是在我们的项目中包含猫鼬,并test
在我们本地运行的MongoDB实例上打开与数据库的连接。
// getting-started.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
我们有一个到本地主机上运行的测试数据库的挂起连接。如果我们成功连接或发生连接错误,我们现在需要得到通知:
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function (callback) {
// yay!
});
一旦我们的连接打开,我们的回调将被调用。为简洁起见,我们假设所有以下代码都在此回调中。
使用Mongoose,所有内容都来自Schema。让我们参考它并定义我们的小猫。
var kittySchema = mongoose.Schema({
name: String
})
到现在为止还挺好。我们有一个有一个属性的模式name
,这将是一个 String
。下一步是将我们的模式编译成模型。
var Kitten = mongoose.model('Kitten', kittySchema)
模型是我们构建文档的类。在这种情况下,每个文档将成为一个小猫,其特性和行为在我们的模式中声明。让我们创建一个小猫文档,代表我们在外面人行道上遇到的小家伙:
var silence = new Kitten({ name: 'Silence' })
console.log(silence.name) // 'Silence'
小猫可以喵喵叫,那么让我们来看看如何在我们的文档中添加“speak”功能:
// NOTE: methods must be added to the schema before compiling it with mongoose.model()
kittySchema.methods.speak = function () {
var greeting = this.name
? "Meow name is " + this.name
: "I don't have a name"
console.log(greeting);
}
var Kitten = mongoose.model('Kitten', kittySchema)
添加到methods
模式属性的函数会被编译到Model
原型中并显示在每个文档实例上:
var fluffy = new Kitten({ name: 'fluffy' });
fluffy.speak() // "Meow name is fluffy"
我们有说话的小猫!但是我们仍然没有保存任何东西给MongoDB。通过调用其保存方法可以将每个文档保存到数据库中。回调的第一个参数将是一个错误,如果有任何发生。
fluffy.save(function (err, fluffy) {
if (err) return console.error(err);
fluffy.speak();
});
说时间过去了,我们想要展示我们见过的所有小猫。我们可以通过我们的小猫模型访问所有的小猫文档。
Kitten.find(function (err, kittens) {
if (err) return console.error(err);
console.log(kittens)
})
我们只是将所有的小猫都记录在我们的数据库中。如果我们想按名称过滤我们的小猫,Mongoose支持MongoDB丰富的查询语法。
Kitten.find({ name: /^Fluff/ }, callback)
》》2.MongoDb服务器连接mongoose的用法
var mongoose = require("mongoose");
//第一步: mongoose来连接上mongodb的服务器
//创建连接 nodejs-mongodb
//mongodb://localhost:27017/test test:数据库名称
const dbUrl = "mongodb://localhost:27017/test";
//建立连接
mongoose.connect(dbUrl);
//监听是否连接成功 connected
mongoose.connection.on("connected",(socket)=>{
console.log(`${dbUrl} 连接成功了!`)
})
//第二步:操作mongodb/test->collections
//mongodb test goods
//step1:需要在nodejs下创建一个和goods集合对应的一个数据结构 schema
// mongodb goods集合
// nodejs goods同样的一结构 _id,title,des,price
// nodejs goodsschema <- mongoose -> goods 绑定
// 绑定model->CURD->SYSN database
//创建一个schma,用来创建js与mongodb中的collectons的对应schema
var Schema = mongoose.Schema;
//通过schema来创建一个集合在程序中的代理
//userSchema-> users
var userSchema = new Schema({
name:{type:String},
age:{type:Number},
sex:{type:String}
})
//绑定userSchema与数据库中的collection users
var userModel = mongoose.model("users",userSchema);
//第三步,操作userModel->mongoose
//CURD
//1.添加一个新的文档 document
function SaveUser() {
var user = new userModel({
name:"lisi",
age:20,
sex:"male"
});
//save来保存数据`
user.save((error,result)=>{
console.log(result)
})
}
//2.删除用户信息:根据条件来删除
function deleteUser() {
userModel.remove({"name":"lisi"}).exec((error,result)=>{
console.log(result)
})
}
//修改用户信息
function updateUser() {
userModel.update({"name":"zhangsan"},{$set:{"age":30}}).exec((error,result)=>{
console.log(result)
})
}
//查询用户
function getUsers() {
userModel.find({"name":"xxx"}).exec((error,results)=>{
console.log(results)
})
}
//查询分页: skip limit
// skip: 跳过多少行记录
// limit: 限制显示的行数 skip(pageindex*pagesize).limit(pagesize)
function getPager(pageIndex,pageSize) {
userModel.find({}).skip(pageIndex*pageSize).limit(pageSize).exec((error,result)=>{
console.log(result)
})
}
getPager(4,1);
3.MongoDB具体简单用法
详情看http://www.runoob.com/mongodb/mongodb-tutorial.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 小白如何入门 Python 爬虫? 2019-08-13
- 编程小白的第一本python入门书(高清版)PDF下载 2019-07-24
- 初始Python 2019-07-24
- Python入门学习——PyQt5程序基本结构 2019-07-24
- 经验分享:零基础如何快速入门Python?(菜鸟必看篇) 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash