Articles of mongoose

在数组字段中查找匹配项

在我的图像共享应用程序中,您可以创build相册并向其添加图像。 从网站上删除图像时,也应该从存储对图像(名称,ID)的引用的专辑中删除。 我需要帮助的是find哪些相册存储了即将被删除的图像(引用)。 在下面的路线是我到目前为止,但我得到一个错误的查询。 我已经检查了Mongodb文档,语法如下所示: db.collection.find( { field : { $in : array } } ); 在我的路线领域和数组已经切换的地方,这似乎不工作。 我真的很感谢一些帮助。 提前致谢! 我的模型如下所示: var AlbumSchema = new Schema({ title : String, imageName : [String], <– array the contains of images names imageId : [String] <– array the contains of images id's }); modelObject.AlbumSchema = AlbumSchema; modelObject.Album = mongoose.model('Album', […]

如何导出csv nodejs

嘿,我试图从node.js(从MongoDB中拉数据)导出一个csv。 我已经有数据被逗号分隔和所有,但现在我想弄清楚如何实际发送它…我坚持这个代码在我的路线文件。 有关如何获取数据的任何build议,并直接发送给用户请求下载。 这里是代码:(我尝试了代码的第二个函数的底部) exports.downloadContacts = function(req, res) { async.waterfall([ function(callback) { var source = []; Friend.find({userId: req.signedCookies.userid}, function(err, friends) { if(err) {console.log('err with friends for download'); } else { var userMap = {}; var friendIds = friends.map(function (user) { userMap[user.friend_id] = user; return user.friend_id; }); console.log(friends); User.find({_id: {$in: friendIds}}, function(err, users) { if(err) {console.log(err); […]

嘲笑/ st Mong模式保存方法

给定一个简单的mongoose模型: import mongoose, { Schema } from 'mongoose'; const PostSchema = Schema({ title: { type: String }, postDate: { type: Date, default: Date.now } }, { timestamps: true }); const Post = mongoose.model('Post', PostSchema); export default Post; 我想testing这个模型,但是我遇到了一些障碍。 我目前的规格看起来像这样(为了简洁,省略了一些东西): import mongoose from 'mongoose'; import { expect } from 'chai'; import { Post } from '../../app/models'; […]

如何在Mongoose模式中设置数组大小限制

你会友好地告诉我有什么方法可以在创buildMongoose模式时设置数组大小的限制。 例如 var peopleSchema = new Schema({ name: { type: String, required: true, default: true }, /* here I want to have limit: no more than 10 friends. Is it possible to define in schema?*/ friends: [{ type: Schema.Types.ObjectId, ref: 'peopleModel' }] })

如何执行与Mongoose runCommand?

我正在使用Node.js和Mongoose来访问我的MongoDB。 我正在使用存储一些地理坐标的模型。 我有他们索引,一切似乎按预期工作。 我想要做的是从我的请求中获取最近的东西。 在MongoDB控制台上,我做了这样的事情: distances = db.runCommand({ geoNear : "deals", near : [11.252, 14.141], spherical : true, maxDistance : 300 }).results 但是,我不知道如何用Mongoose做到这一点。 这里是关于我试图使用的命令的更多信息: http : //www.mongodb.org/display/DOCS/Geospatial+Indexing 谢谢,何塞

将嵌套对象保存在mongoose中

我刚接触node.js和MongoDb(以及一般的文档数据库)。 从PHP / MySQL背景来看,我在构build和保存数据方面苦苦挣扎。 我试图创build一个小应用程序,我可以添加多种配料的食谱。 我有一堆预填充的成分作为种子数据,其模式如下所示: var IngredientSchema = new Schema({ name: { type: String, trim: true, required: true, index: { unique: true } }, created: { type: Date, default: Date.now } }); var Ingredient = mongoose.model('Ingredient', IngredientSchema); 配方目前看起来像这样: var RecipeSchema = new Schema({ name: { type: String, trim: true }, ingredients: [ { type: […]

防止Node.js中与数据库相关的争用情况

概观 我正在尝试了解如何在使用Node.js时使用模型实例来确保asynchronous安全。 在这里,我在代码示例中使用了Mongoose ODM,但这个问题适用于任何使用Node.js采用的asynchronous事件驱动的I / O方法的数据库。 考虑下面的代码(它使用Mongoose进行MongoDB查询): 片段A MyModel.findOne( { _id : <id #1> }, function( err, doc ) { MyOtherModel.findOne( { _id : someOtherId }, ( function(err, otherDoc ) { if (doc.field1 === otherDoc.otherField) { doc.field2 = 0; // assign some new value to a field on the model } doc.save( function() { console.log( […]

在amazon EC2上托pipenodeJS / mongoose web应用程序

我想在云端托pipe一个nodeJS / mongoose / mongodb应用程序,由于EC2有一个免费的MicroInstance,所以我的问题是: 有没有一步一步的教程,我怎么能起床和运行nodejs /亚马逊EC2中的mongoose应用程序?

mongoose保存失败没有错误

正如标题所示,我在使用mongoose保存方法时遇到了问题,但是不会生成错误。 我实际上知道为什么它失败了,这是根据需要标记为userId字段,但没有提供…但我不知道为什么它不会抛出一个错误。 我已经穷尽了谷歌和stackoverflow看着类似的build议,没有运气,所以扔给任何人谁可以帮助我! 这是代码… Model.js var mongoose = require('mongoose'); var TimeSchema = new mongoose.Schema({ client: String, matter: String, activity: String, tags: String, description: String, comments: [String], startTime: Date, startTimeUTC: Number, endTime: Date, endTimeUTC: Number, duration: Number, durationRnd: Number, durationUnits: Number, billable: Boolean, rate: Number, total: Number, user: String, userId: { type: mongoose.Schema.ObjectId, required: true } […]

确保快速应用程序在每个摩卡testing之前运行

我正在使用ExpressJS,NodeJS,Mongoose和Mocha开发REST API。 问题是我有一个app.coffee文件,负责设置ExpressJS并连接到Mongoose。 我设置的方式是,首先连接Mongoose,如果通过,则启动ExpressJS App。 问题是,在设置Mocha时,我需要确保app.coffee中存在的ExpressJS App在执行任何testing用例之前已经成功启动,包括所有asynchronous代码。 为此,我创build了一个test_helper.coffee,并在其中放置了下面的代码,但是,即使app.coffee中的代码还没有完全完成它的执行,testing用例也会开始执行,这实际上是有意义的: before (done) -> require(__dirname + '/../src/app') done() 简而言之,我想确保ExpressJS应用程序在执行任何testing用例之前已完全完成设置。 我怎么能做到这一点?