Articles of mongoose

mongoose连接

我读了这个网站的快速入门链接 ,我几乎复制了代码,但是我无法使用nodejs连接mongodb。 var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); exports.test = function(req,res){ var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); console.log("h1"); db.once('open', function callback () { console.log("h"); }); res.render('test'); }; 这是我的代码。 控制台可以打印(h1)不是(h),我错在哪里?

在ExpressJS上使用mongoose运行“node_acl”

我在ExpressJS上构build了一个应用程序(类似于博客)。 我使用mongoose与MongoDB合作。 当我不得不在不同的ACL模块之间进行select时,我决定采用node_acl 。 令我困惑的是它使用的是mongodb模块,而不是mongoose。 根据ACL GitHub上的文档,必须这样使用: // Or Using the mongodb backend acl = new acl(new acl.mongodbBackend(dbInstance, prefix)); 如果我正在使用mongoose,那将会是一个db的实例? 我使用类似于:Account = mongoose.model('Account',new Schema({…}));

mongoose – 引用子文档的ObjectId

ModelA中的ObjectId是否可以引用modelB中的子文档? var C = new Schema({…}); var B = new Schema({c: [C]}); var A = new Schema({c: { type: ObjectId, ref: 'ModelB.ModelC' }); var Model_A = mongoose.model('ModelA', A); var Model_B = mongoose.model('ModelB', B); var Model_C = mongoose.model('ModelC', C);

蓝鸟Promisies crud使用nodejs,express和mongoose的例子

我的朋友们,不幸的是,我找不到任何关于如何在节点js express mongoose应用程序中实现蓝鸟承诺库的例子。 我的应用程序设置在mongoose模型,控制器和路线在不同的文件。 但是用mongoose来执行它,我只是不知道。 所以请有人告诉我它是如何使用的。 请看下面。 //express controller Article.js var mongoose = require('mongoose'), errorHandler = require('./errors'), Article = mongoose.model('Article'); exports.list = function(req, res) { Article.find().sort('-created').populate('user', 'displayName').exec(function(err, articles) { if (err) { return res.status(400).send({ message: errorHandler.getErrorMessage(err) }); } else { res.jsonp(articles); } }); }; // Mongoose Model /** * Module dependencies. */ var mongoose = […]

mongoosefindOneAndUpdate更新多个字段

findOneAndUpdate方法无法正常工作。 我试图一次更新所有的字段,但它只是更新(设置)最后一个字段。 这只是最后一个领域。 有人能告诉我我做错了什么,或者我能做些什么来达到预期效果? 这是我的findOneAndUpdate代码: Book.findOneAndUpdate({_id:bookId},{$set:{"name": name},$set:{"genre": genre},$set:{"author": author},$set:{"similar": similar}}).exec(function(err, book){ if(err){ console.log(err); res.status(500).send(err); } else { res.status(200).send(book); } });

用mongoosevalidation整数值

我正在使用mongoose ,我需要像下面这样定义一个模式: const QuestionSchema = new Schema({ text: { type: String, required: true }, number: { type: Number, required: true, unique: true } }); 我需要validationnumber字段是一个整数值。 我见过几个插件,例如: mongoose-integer : const validateInteger = require('mongoose-integer'); const QuestionSchema = new Schema({ text: { type: String, required: true }, number: { type: Number, required: true, unique: true, integer: true } […]

在mongoose中获得最大值

如何在mongoose查询中获得最大的价值。 在SQL中很容易 SELECT MAX(LAST_MOD) FROM table1 Where field1=1 我想在mongoose(node.js)上面的SQL代码等价的

mongoose模型testing需要模型

我有一个testing我的mongoose模型的问题 我有一个像 应用 楷模 地址 用户 组织 testing 用户和组织都需要知道型号Address。 我的模型结构如下: module.exports = function (mongoose, config) { var organizationSchema = new mongoose.Schema({ name : { type : String }, addresses : { type : [mongoose.model('Address')] } }); var Organization = mongoose.model('Organization', organizationSchema); return Organization; }; 在我的正常的应用程序,我需要地址之前要求用户和组织,一切都很好。 我现在为用户和组织编写testing。 为了让地址模型注册,我打电话require('../models/Address.js')这工作正常,如果我运行一个testing。 但是,如果我在批处理中运行所有testing,我得到一个错误,因为我试图注册地址两次。 OverwriteModelError: Cannot overwrite Address model once compiled. […]

mongoose – 用findOne增加

我正在使用Mongoose查询一些查询,我需要跳过和限制子文档,但在同一个查询中,我想增加文档中的某个字段。 目前我的查询是用链接构build的,因为当我试图用选项来完成时,我遇到了很多问题。 这是我的: Model.findOne({ shorten_id: id }).select('title content comments views').slice('comments', [0, 10]).exec(function(err, db_res) { if (err) { throw err; } else { console.log(db_res); } }); 我想在调用这个查询时增加1的“意见”,但正如我所说的,我尝试了很多东西,但它不工作。

如何链接写入stream,立即与读取stream在Node.js 0.10?

以下行将从指定的urlvariables下载一个图像文件: var filename = path.join(__dirname, url.replace(/^.*[\\\/]/, '')); request(url).pipe(fs.createWriteStream(filename)); 这些行将会把这个图像保存到MongoDB GridFS中: var gfs = Grid(mongoose.connection.db, mongoose.mongo); var writestream = gfs.createWriteStream({ filename: filename }); fs.createReadStream(filename).pipe(writestream); 像这样链接pipe抛出错误:500不能pipe。 不可pipe道。 request(url).pipe(fs.createWriteStream(filename)).pipe(writestream); 发生这种情况是因为图像文件尚未准备好被读取,对吗? 我应该怎么做才能解决这个问题?错误:500不能pipe道。 不可pipe道。 使用以下内容: Node.js 0.10.10 , mongoose , request和gridfs-stream库。