zoukankan      html  css  js  c++  java
  • 一个mongosee例子

    var express = require('express'),
    	mongoose = require('mongoose'); //引入mongoose模块
    //连接mongodb数据库 nodejs为数据库名称
    mongoose.connect('mongodb://localhost/nodejs');
    
    //获取Schema 以及 ObjectId 对象
    var Schema = mongoose.Schema,
    	ObjectId = Schema.ObjectId;
    
    //创建一个评论Schema(结构&架构) 这里相当于mongodb中的collection(集合)
    var commentsShema = new Schema({
    	name:String,
    	content:String
    });
    //生成一个用于操作comments这个collection的Model对象  第一个参数为mongodb中的collection名称(需要先创建)
    var CommentModel = mongoose.model('comments', commentsShema);
    
    //新闻Schema
    var newsSchema = new Schema({
    	title : String,
    	source : String,
    	content : String,
    	comments :{type:[commentsShema], default:[]} //新闻的评论,这里是一个子集合(collection),记得一定要用中括号包起来(type:[commentsShema]),默认为一个空数组(default:[])
    });
    //生成新闻的Model
    var NewsModel = mongoose.model('news', newsSchema);
    
    //新建一个新闻
    var news = new NewsModel();
    news.title = '国家税务总局:节假日加班工资须缴个税';
    news.source = 'http://finance.qq.com/a/20120221/001221.htm';
    news.content = '昨日,国税总局纳税服务司就纳税咨询热点问题作出解答....';
    news.save(function(err){
    	console.log(err);
    });
    
    //查询新闻
    NewsModel.find({}, function(err,docs){
    
    	if(!err){
    		if(docs[0]){
    			//添加一条评论
    			var comment = new CommentModel();
    			comment.name = 'iblue';
    			comment.content = '测试评论!';
    			docs[0].comments.push(comment);
    			NewsModel.update({_id:docs[0]._id}, {comments:docs[0].comments}, function(err){
    				console.log(err);
    			});
    		}
    	}
    });
  • 相关阅读:
    JS中的instanceof和typeof
    JSONP跨域的原理解析
    svn add 忽略node_modules
    淘宝flexible.js的使用
    最简单的方式实现rem布局
    关于不同retina的布局
    es5实现es6方法
    Webpack loaderUtils.parseQuery()
    npm操作命令
    阿里云服务器配置https
  • 原文地址:https://www.cnblogs.com/walkerwang/p/2607363.html
Copyright © 2011-2022 走看看