Tag: mongoose

通过协会的mongoose限制

我有这样一个集合: [ { parent: 'a', d1: '1', d2: '2', d3: '3', w: 10 }, { parent: 'a', d1: '1', d2: '2', d3: '3', w: 20 }, { parent: 'a', d1: '1', d2: '2', d3: '3', w: 30 }, { parent: 'a', d1: '1', d2: '2', d3: '3', w: 40 }, { parent: 'a', d1: '1', […]

如何正确构buildasynchronous节点代码

我试图通过我所拥有的“事件”数据库来工作,并根据每个事件的位置,半径,开始时间和结束时间从Instagram API中提取照片。 我已经在我的Node服务器上设置了下面的代码,但它不像我所期望的那样运行。 当我运行这个代码时,我看到的第一件事就是sending request to Instagram for [name] with min_timestamp: [timestamp]为每个事件打印sending request to Instagram for [name] with min_timestamp: [timestamp] 。 我没有想到这一点。 我希望看到这行logging的第一个事件,然后更新一个新的时间戳,直到该事件达到其结束时间。 然后事件2,遍历时间戳,等等。 最后,我会为每个事件重复一遍又一遍的相同的照片。 就好像我的代码一遍又一遍地向Instagram发出一个请求(带有初始时间戳),然后停止。 关于我的时间戳variables的注意事项:对于每个事件,我将我的minTimestampvariables设置为初始等于我的数据库中的event.start 。 这在发送给Instagram的请求中使用。 Instagram返回20张照片给我。 每张照片都有一个created_timevariables。 我抓住最近的created_timevariables,并设置我的minTimestampvariables等于它( minTimestamp = images[0].created_time; )我的下一个请求发送到Instagram(抓住接下来的20张照片)。 这将继续,直到minTimestamp不再小于endTimestamp( event.end从我的数据库中的事件)。 server.js代码: // modules ================================================= var express = require('express.io'); var app = express(); var port = process.env.PORT || […]

如何dynamic创build集合名称(取决于用户信息)

我想创build一个更深的收集..数据更加组织。 我知道如何访问数据,如何检索信息,但我不知道如何创build模式。 这是我的实际模式: var MySchema = new Schema ({ event: { full: String, date: String, name: String, }, person: { name: String, phone: String, email: String, obs: String } }); 我想要改变: var BookingSchema = new Schema ({ monday: { event: { full: String, date: String, name: String, }, person: { name: String, phone: String, email: […]

已解决 – 客户端错误:消息中的坏对象:bson长度与我们find的不匹配

我正在将数据发布到利用Mongoose和MongoDB的Node / Express API上。 在尝试使用此模式进行批量插入时,数据和处理程序: // Mongoose schema var NotificationSchema = new Schema({ uuid: { type: String, required: true, index: true }, message: { type: String, required: true }, url: { type: String, required: true } }); // sample data [ { 'uuid': '34e1ffef49ad4001bb9231c21bdb3be7', 'url': '/polls/4666386cb92348af93417e9abb9ce880/forecast/', 'message': '@btaylor has shared a poll with you' }, […]

节点js module.exports模块参数

我在Node.js中是新的,我已经创build了一个基于mongoose的模块,但我有configurationfunction的问题。 其实我的模块使用mongoose.connect连接,但我想改变它,以使用mongoose.createConnection 。 为此,我创build了一个接受连接string作为参数的init函数。 我的问题是“我怎么module.exports连接到我的模块?” 例如: // server.js var mymodule = require('mymodule'); mymodule.init('http://localhost:27017/test'); // mymodule/index.js var mongoose = require('mongoose'); module.exports = { init: function(connString){ module.exports = connection = mongoose.createConnection(connString); // this is wrong } } // mymodule/user.js // I want to use the connection to create the mongoose 'User' model var mongoose = require('mongoose'); var […]

Nodejs Express sendStatus错误

Web应用程序使用快递服务器,nodejs作为语言,MongoDB作为数据库和mongoose作为包装。 Express在端口3000上运行服务器,我试图为一个集合实现一个基本的CRUD。 我以前用过restify,通常做一个res.send(406,“err – body”); 不会导致任何问题,但我似乎无法用明示的方式解决。 查看快速文档,res.status(404).send('Bad Request'); 是你如何发送一个自定义消息的状态代码。 它有效的时候有某种无效的input,但是当我试图保存到mongodb newSchema.save(function(err){ if (err) { res.status(500).send('error saving'); } else { res.sendStatus(200); } }); 并调用res.sendStats(200); 它给了我错误:错误:发送后无法设置标题。 使用httprequester时,错误是404,不能POST / user / create。

同时填充多个字段

我有一个模式称为聊天: var ChatSchema = new Schema({ vehicle: { type: Schema.Types.ObjectId, ref: 'Vehicle' }, messages: [String] }); …和另一个称为Vehicle的模式: var VehicleSchema = new Schema({ make: { type: Schema.Types.ObjectId, ref: 'Make' }, model: { type: Schema.Types.ObjectId, ref: 'Model' } }); 我需要一个填充车辆的查询,也需要车辆内的“制造”和“模型”字段。 我尝试过,但无法使其工作。 尝试与path也没有成功。 Chat.find(function (err, chats) { if (err) res.json({ success: false, response: err }); if (chats.length == […]

在linux上使用mongoose更新JSONtypes字段中的特定字段

我试图更新jsontypes字段内的特定值。 我的文档模式看起来像这样: character { name: {type: string}, experience: {type: json} … } 我确信经验总是包含一个带有2个字段的json对象: { unspent: number, total: number } 我试图做一个通用的更新方法,并在正常工作的Windows: 'update': function (itemid, update, callback) { model.update({'id': itemid}, update, {multi: false}, callback); } 更新得到一个req.body.fields对象,这是一个json对象,包含我想更新的'fields',例如 {'experience.total': 5} 这工作正常,当我在我的Windows开发框上运行它。 当我在我的linux登台服务器上尝试它时,mongoose似乎没有拿起它需要更新的东西。 我没有更新其他领域的问题(如我的例子中的“名称”) 谢谢!

mongodb聚合:平均和sorting

我是一个新手,并有一个MongoDB聚合的问题。 我用mongoose。 var SubjectScore = new Schema({ name: {type:String, required:true}, //math, science, history, … score: {type:Number, required:true } // 95, 85, 77,…. }); var Subject = new Schema({ year: Number, //2012, 2013, 2014 subjectScore : [SubjectScore] }); var StudentSchema = new Schema({ name: String, subject: [Subject], //array length varies for each student profile: String, }); […]

在node.js应用程序中引用自定义模式时出错

Node.js新手在这里…我有两个模式,我引用另一个。 var mongoose = require('mongoose'); var Schema = mongoose.Schema; /*Model for user settings */ var SettingsSchema = new Schema({ shoppingDay: {type: String, default : "Friday"}, shoppingFrequency : {type: String, default : "weekly"}, reminderEmails : {type: Boolean, default : true} }); module.exports = mongoose.model('Settings', SettingsSchema); 和 var mongoose = require('mongoose'); var Schema = mongoose.Schema; var Settings […]