mongoose查询数据库步骤

建立dumall数据库,创建goods集合,导入数据文件,也可以自己手动插入。

mongodb安装与环境搭建: http://www.cnblogs.com/ccyinghua/p/7887713.html

建立数据库和插入数据,可以是进入mongo操作数据库,以命令行形式插入操作,即成功启动MongoDB后,以管理员身份打开一个命令行窗口输入mongo,就可以进行数据库的一些操作;

也可以下载mongovue3.4.4(64位)客户端进行操作,客户端可以手动输入插入数据,也可以导入文件插入数据。

一、安装mongoose

API文档: http://mongoosejs.com/docs/guide.html

cnpm install mongoose --save

二、创建一个model模型

// goods.js

var mongoose = require(‘mongoose‘);
var Schema = mongoose.Schema;

// 定义一个Schema
var produtSchema = new Schema({
    ‘productId‘:String,   // 或者 ‘productId‘:{type:String}
    ‘productName‘:String,
    ‘salePrice‘:Number,
    ‘productImage‘:String
})

// 输出(导出)
module.exports = mongoose.model(‘good‘,produtSchema); // 定义一个good商品模型,可以根据这个商品模型调用其API方法。
// 这个模型定义的是数据库dumall的goods集合数据,所以这个model取名good是对应这个集合,连接数据库之后,这个模型会根据名字的复数形式"goods"来查找数据集合。
// module.exports = mongoose.model(‘good‘,produtSchema,‘goods‘); 也可以后面注明链接的是数据库的goods集合

三、连接数据库

// db.js

var mongoose = require(‘mongoose‘);
var Goods = require(‘./goods.js‘);

// 链接MongoDB数据库,数据库的名称叫dumall
mongoose.connect(‘mongodb://127.0.0.1:27017/dumall‘);  // 若是带账号密码的:‘mongodb://root:[email protected]:27017/dumall‘

// 连接成功操作
mongoose.connection.on("connected",function(){
    console.log("MongoDB connected success.")
})

// 连接失败操作
mongoose.connection.on("error",function(){
    console.log("MongoDB connected fail.")
})

// 连接断开操作
mongoose.connection.on("disconnected",function(){
    console.log("MongoDB connected disconnected.")
})

// 连接成功之后,用model的good商品模型查询到数据库的goods集合。
Goods.find({},function(err, doc){
    if(err) {
        console.log(err.message)
    }else{
        console.log(doc)
    }
})

doc的内容:

时间: 2024-11-04 16:26:35

mongoose查询数据库步骤的相关文章

spring security使用hibernate进行查询数据库验证

前面查询数据库采用的都是jdbc方式,如果系统使用的是hibernate,该如何进行呢,下面就是实现步骤,关键还是实现自定义的UserDetailsService 项目结构如下: 使用hibernate,pom.xml文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo

用Zend框架的模式查询数据库

说道这个知识点,想一下都有点心酸,我可是把这个知识点的视屏看看整整六遍才算把基本的流程以及要点搞明白,看着是用框架方便了许多,但如果是搞不明白,他就会把你搞死,不诉苦了,还是先说一下具体的操作流程吧. 首先,既然要去查询数据库,而且是用框架的方式,就必须改掉那种面向过程,单层结构的方式,应该充分利用mvc的思想,就是说,在模型,视图,还有控制器,让他们分工明确,,首先要建立一个数据库的表类,那必然就应该放在modle里面了,注意的就是既然要使用框架里面的方法,那么就必须要继承该方法类,该方法类就

优化之——查询数据库

紧张的工作中恰好有点空闲的时间,就认真看着自己写的代码,想想哪里可以“优化”一点……(此灵感之一来源于自己的脑子里一直记得‘优化’这两个字,到后期就会看看哪里可以优化,之二便是这几天‘甜到大家的’<微微一笑很倾城>中看到大神他们为了项目中的优化问题,废寝忘食的干劲,联想到自己就觉得也应该向他们一样,结果要求完美一点).那就总结一下自己少之又少的优化方案吧? 先看一段代码: let usersData = await this.model("users).field("sid

php mysql jquery ajax 查询数据库三级联动

1.php 页面打开直接展示第一个select option中的数据 2.当第一个下拉列表选中的内容发生改变的时候,查询数据库填充第二个下拉列表 3.当第二个下拉列表选中的内容发生改变时,查询数据库填充第三个下拉列表 注意点: 1.查询出来的数据,如果绑定到select上 2.select cochange事件 3.ajax 请求,提交到某个php 页面,参数是下拉列表选中的值,需要知道如何获取,查询数据库有结果,如果将返回的json格式的数据进行解析 代码: 表 CREATE TABLE `a

Sqlserver查询数据库文件大小和剩余空间

在MS Sql Server中可以能过以下的方法查询出磁盘空间的使用情况及各数据库数据文件及日志文件的大小及使用利用率: 1.查询各个磁盘分区的剩余空间:Exec master.dbo.xp_fixeddrives 2.查询数据库的数据文件及日志文件的相关信息(包括文件组.当前文件大小.文件最大值.文件增长设置.文件逻辑名.文件路径等)select * from [数据库名].[dbo].[sysfiles]转换文件大小单位为MB:select name, convert(float,size)

获取映射注解,查询数据库字段的信息

//通过循环 可以获得 注解中的name值@Column(name="EO_XXX"),本方法获取的是 get方法的注解 Method[] methods= EoOrderMaterielModel.class.getMethods();  Map<String,String> modelColumns=new HashMap<String, String>();  for(Method m:methods){   Annotation ats[]=m.getA

cached-query 将缓存和查询数据库快速连接起来的轻类库

介绍 我们常常有这样的需求:当我们把memcached加入到项目后我还还要写一个 cacheUtils 或者 cacheManager 之类的类来操作memcached.并且一般的操作不外乎是这种操作: 拿到一段sql,先去memcahed里面看下是否有缓存,如果有就直接返回结果 如果没有就直接查询数据库 查到数据之后先保存到memcached里面再返回给上层调用者 这种需求基本上占了缓存操作的大部分情况.这三件事情写起来很简单,其实还是有一些代码量的.cached-query 是一个轻量级的类

linux(centOS6) 安装Mysql 5.6.19数据库步骤、 问题以及相应的解决办法

数据库版本:Ver 14.14 Distrib 5.6.19, for Linux (x86_64) using  EditLine wrapper linux版本: Linux version 2.6.32-279.el6.x86_64 ([email protected]) (gcc ve rsion 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Fri Jun 22 12:19:21 UTC 20 12 采用的rpm安装方式. 1.官网下载

Android实现查询数据库,把数据库内容显示到屏幕

首先,是布局文件,非常的简单,一个可以滑动的ScrollView包裹一个线性布局,线性布局里面无内容 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_he