Tag: mongo

如何在Model.find Sailsjs中循环

祝你有个好日子,有人可以build议我使用哪种asynchronous函数吗?在我的情况下,我需要输出每个组的第一个成员。 ***注意这只是我的程序stream程的一个例子。 /* Grouplist groupmember Id | name id | name | group 1 | group1 1 | John | 1 2 | group2 2 | James | 1 3 | group3 3 | Paul | 3 4 | Angel | 2 5 | Anne | 2 6 | Jane | 3 looking for output […]

Sails.JS – 创build的用户不会返回用户对象

我在我的Sails 1.0应用程序中添加了一个新的用户MongoDB的function,然后在最后应该返回用户对象作为JSON … 用户确实被添加到集合中,但是在尝试获取新的用户对象的_id时会引发错误。 当我尝试console.log()createdUser它回来作为未定义。 试图找出用户如何在Mongo中创build,但不能作为一个对象在同一个函数中返回? 简而言之,Register()函数执行以下操作: validation一些input 检查有效的电子邮件地址 encryption密码 查找Gravatar URL(如果适用) 将用户插入到collections中 在req.session中设置user._id(错误在这里) 将用户对象作为JSON返回 错误: info: ·• Auto-migrating… (alter) info: Hold tight, this could take a moment. info: ✓ Auto-migration complete. warn: Ignored attempt to bind route (/resend-username) to unknown action :: UserController.resendUsername info: info: .-..-. info: info: Sails <| .-..-. info: v1.0.0-37 |\ […]

水线(Sails.js):AND条件

我正在使用mongodb和sails.js查询包含torrent文件标题的模型。 但是我无法使用“AND”条件执行水线查询。 我已经用几种方法尝试过了,但是大部分都是空的或简单的,永远不会返回。 例如数据库包含一个条目: "title": "300 Rise Of An Empire 2014 720p BluRay x264-BLOW [Subs Spanish Latino] mkv" 逐行添加每个查询参数时: var query = Hash.find(); query = query.where({ "title": { "contains": "spanish" } }); query = query.where({ "title": { "contains": "2014" } }); query = query.where({"or": [ { "title": { "contains": "720p" } }, { "title": { […]

Sails服务返回MongoDb的结果,当没有水线协会存在,但是当它们存在时失败

我正在用MongoDb构build一个sails.js api作为我的db。 这些是我的模型(为了这个问题而简化): models/Passport.js简化: identifier: { type: 'string' }, owner: { model: 'User', required: true }, models/User.js简化: username: { type: 'string', unique: true }, passports: { collection: 'Passport', via: 'owner' } 问题 在sails.js服务loginfunction中,我首先尝试从User集合中获取用户名。 sails.models.user.findOne({username: 'demo'}).exec(function onExec(error, user) { user; //contains user info } 到现在为止还挺好。 然后,当用户被抓取(这是成功的),我抓住他的user.id,并尝试从护照集合取回他的护照。 sails.models.passport.findOne({owner:user.id}).exec(function onExec(error, passp) { if(passp==undefined) //puppies dying in this line!!!! […]

如何正确debuggingSails.js中的响应lifecyle?

使用sails.js我得到了执行数据库请求和使用承诺这些控制器方法。 问题是他们正在工作,但是当执行请求时,在客户端获得504。 我想确保我的实现是好的,504在sails /节点编码中不是问题,但是任何nginx或其他东西。 我设置日志模式愚蠢在config/logs.js但我什至不能看到每次response.send被调用。 下面两种方法都存在这样的问题,但是与第一种方法(可能是巧合)有时只是发生。 方法1 addPlayer: function (request,response) { console.log("Add player"); var lineupId = request.params.id; var receivedPlayer = request.param('player'); var playerId = receivedPlayer.id; var bench = receivedPlayer.bench; var place = receivedPlayer.place; LineUp.findOne().where({id: lineupId}).then(function (foundLineUp) { var player = Player.findOne().where({id: playerId}).then(function (player) { console.log("Found player with _id " + player.id); return player; }); return […]

如何从sails.js中的多个集合中获取logging

我在sails.js新手,我正在尝试创buildcrud和login使用风帆JS。 我想从多个集合中获取login用户的logging,如用户个人资料详细信息和login用户完成的任务。 我不知道如何从多个集合,如用户,仪表板(包括login后由用户所做的所有post)查询。 如果有人有想法,请与我分享或指导我如何做这个任务。 这是我的Dashboardcontroller require('../models/Dashboard.js'); var User = require('../models/User.js'); module.exports = { //View all record posted by login user from dashboard collection index: function(req, res ){ //console.log(req.session.passport.user); var userId = req.session.passport.user; // here i want to get data from user collection and want to send to the view Dashboard.find({posted_by: {$in: [userId]}}).exec(function(err, result){ if(err){ sails.log("—-Error—-"+err); […]

启动js RangeError:在heroku上超出最大调用堆栈大小

从我的heroku应用程序日志得到这个错误。 我的本地机器上的相同代码运行完美。 但是,在英雄服务器上,这是从terminal确切的错误。 2015-02-09T12:00:03.532045+00:00 heroku[router]: at=info method=GET path="/socket.io/1/websocket/37ykGNWYvQ20k6c2LH4k?__sails_io_sdk_version=0.10.0&__sails_io_sdk_platform=browser&__sails_io_sdk_language=javascript" host=myapp.herokuapp.com request_id=6f3206e0-db44-4252-8eba-75a6d5724be0 fwd="95.34.203.67" dyno=web.1 connect=1ms service=598515ms status=101 bytes=129 2015-02-09T12:00:03.431464+00:00 app[web.1]: RangeError: Maximum call stack size exceeded 2015-02-09T12:00:03.430489+00:00 app[web.1]: throw message; 2015-02-09T12:00:03.430500+00:00 app[web.1]: ^ 2015-02-09T12:00:03.360874+00:00 app[web.1]: 2015-02-09T12:00:03.430103+00:00 app[web.1]: /app/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/connection/base.js:246 2015-02-09T12:00:03.531458+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=POST path="/app/issues" host=myapp.herokuapp.com request_id=b95a2e6f-7573-4581-8523-e745c125f6c6 fwd="192.168.0.146,112.196.35.195" dyno=web.1 connect=1ms service=1563ms status=503 bytes=0 做了一些研发,发现它在mongoDB版本的sails版本上有一些更新。 […]

为什么水线callback不会触发?

我正在使用模型中的Sails,它是ORM来执行MongoDB查询和操作。 我得到的问题是,对于一些查询方法,它的callback是永远不会被调用。 数据库操作完成,但callback不会出现。 下面的代码片段是模型查询API的控制器方法的一部分,这就是为什么我使用response对象。 LineUp.update({ id: request.param('id') }, { players: [], budgetLeft: 60000000 }). exec(function (err, lineup) { console.log("Should happen"); return err ? response.send(500) : response.json(lineup); }); 所以,我已经阅读了Sails文档 ,看来我实际上是按照它应该做的,但是它不会工作。 由于不工作,我的意思是callbackist没有被执行,我永远不会看到应该发生 ,然后任何响应被发回到客户端,客户端达到502超时。 编辑 我可以注意到,发现这是一个sails-mongo问题。 我在package.json首先使用了"sails-mongo": "^0.10.6"作为依赖项,并且在前一版本中获得了mongodb作为dev依赖项。 我testing了邮递员的整个代码,我不能注意到任何问题。 npm安装运行后,我开始注意到它失败,然后我发现这是callback问题。 在^0.11.2 sails-mongo更新到^0.11.2我可以看到它是如何回报增益的。 但是,我可以看到其他模型查询时,它不工作。 在升级服务器(可悲的是不工作),当它失败了,我有帆mongo ^0.10.8和2.0.33模块。 我更新到最新版本,特别是sails-mongo到0.11.x分支。 我真的不仅需要解决这个问题,而且要知道原因。 我试图复制错误,但现在它正在工作,而不是两天。 编辑2(语法错误或错误?) 我不能通过尝试不同的模块版本来复制错误。 但是,也奇怪,我已经确定哪个代码风格不工作(没有callback发生)。 没有执行callback,导致超时: LineUp.update({ id: request.param('id') }, { players: […]

帆/水线填充不能在交界处工作?

当我尝试用另一个联结表(模型)填充联结表(模型)时,水线填充给了我一个空的集合。 我使用多对多的关系,如下所示: https://github.com/balderdashy/waterline/issues/705#issuecomment-60945411 我正在使用mongolabs的sails-mongo适配器。 示例代码, 模型用户 /user.js module.exports = { schema: true, attributes: { id: { type: 'string', primaryKey: true, }, student: { type: 'string' }, vendor: { type: 'string' }, courses: { collection: 'vendorcourse', via: 'users', through: 'usercourse' }, coursesProvided: { collection: 'course', via: 'vendors', through: 'vendorcourse' } } }; 示范课程 /course.js module.exports = […]

风帆项目不工作

帆船项目不起作用。 从terminalsails lift之后。 我通过浏览器的localhost: 1337端口运行该项目。 但它没有加载,浏览器屏幕是空白的。 terminal没有错误信息。 注意:在同一台机器上几个小时之前,同一个项目运行得非常好