问题标签 [sails-mongo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
661 浏览

javascript - Sails.js 处理属性验证错误

Sails.js中,可以为模型使用不同的数据库连接,并且很容易更改数据库(MySQL 或 MongoDB)。当我想显示验证错误时,就会出现问题。这些是我的代码:

Groups.js 模型

GroupsController.js 控制器:

我应该分别处理每个属性验证错误,是否可以只发送验证错误?

MySQL 返回:

MongoDB 返回:

0 投票
1 回答
1022 浏览

mongodb - Sails.js $near 查询不起作用并要求索引

我正在尝试使用 MongoDB 查询 Sails.js 中某个坐标的最近点,但出现以下错误:

我确保我在 bootstrap.js 中有这个:

我的Location模型看起来像这样:

我的控制器代码如下:

我很确定我做了我应该做的事,但显然我做错了什么或者我忘记了什么。有人知道如何让它工作吗?谢谢。

0 投票
1 回答
207 浏览

internationalization - Sails js建议中的多语言模型属性

我即将开始一个项目,该项目需要翻译模型上的某些属性,但不确定最好的方法是什么。

一种选择是创建一个 JSON 类型属性并将翻译存储为

但我也想知道将这些值存储在一个单独的集合中并创建一个关联是否会更好,然后在获取父模型时我可以用适当的语言填充。所以像

产品型号

产品价值模型

0 投票
0 回答
567 浏览

node.js - Sails.js 多对多关联在创建和填充时抛出错误

当我尝试使用多对多关联将一个集合与另一个集合关联时,我收到以下错误:

使用sails-mongo: TypeError: Cannot read property 'where' of undefined at _afterFetchingJunctorRecords (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/populateBuffers.js:131:35) at /Users/grant/Sites/sails/test/node_modules/sails-mongo/lib/collection.js:103:5 at /Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/cursor.js:172:16 at commandHandler (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/cursor.js:720:16) at /Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/db.js:1874:9 at Server.Base._callHandler (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/connection/base.js:453:41) at /Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:481:18 at MongoReply.parseBody (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5) at null.<anonymous> (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:439:20) at emit (events.js:95:17)

使用sails-postgresql: TypeError: Cannot convert null to object at hasOwnProperty (native) at utils.object.hasOwnProperty (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/lib/utils.js:28:14) at /Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/where.js:261:11 at Array.forEach (native) at WhereBuilder.complex (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/where.js:178:36) at complexWhere (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/index.js:245:16) at find (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/index.js:85:23) at Cursor.populateBuffers [as $populateBuffers] (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/lib/adapter.js:547:31) at Cursor.run (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-cursor/cursor/cursor.js:45:8) at runJoins (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-cursor/index.js:51:10)

测试项目

我创建了一个示例 Sails 应用程序来演示该问题并允许其他人测试/调试:https ://github.com/gnestor/sails-assoications-issue

重现:

尝试使用关联创建新记录(我尝试使用 Sails 控制台、Blueprints API 和控制器内部):

Event.create({source: 'http://domain.com/event/1', posted_by: {source: 'http://domain.com/feed/1'}}).exec(console.log)

Event.create({source: 'http://domain.com/event/3', venue: {source: 'http://domain.com/feed/2'}}).exec(console.log)

Event.create({source: 'http://domain.com/event/2', reposted_by: [{source: 'http://domain.com/feed/2'}, {source: 'http://domain.com/feed/4'}]}).exec(console.log)

结果

您会注意到前两个有效(一对多关联),但第三个无效(多对多关联)。我已经通过多种方式对此进行了测试(使用 Sails 控制台、Blueprints API 和内部控制器)。

值得注意的是,它确实适用于sails-disk,但不适用于sails-mongo、sails-postgresql 或sails-mysql,所以我可能做错了什么......

Sails-mongo 上的问题链接:https ://github.com/balderdashy/sails-mongo/issues/227sails-postgresql 上的问题链接: https : //github.com/balderdashy/sails-postgresql/issues/130

0 投票
1 回答
3827 浏览

javascript - 在 Sails.js 中处理数据库环境配置

我遇到的问题与官方文档中的以下引用有关:

注意 如果模型使用到适配器的任何连接,那么到该适配器的所有连接都将加载到sails.lift 上,无论模型是否实际使用它们。在上面的例子中,如果一个模型被配置为使用 localMysql 连接,那么 localMysql 和 remoteMysql 都会在运行时尝试连接。因此,最好按环境拆分连接配置并将它们保存到适当的特定于环境的配置文件中,或者注释掉任何您不希望处于活动状态的连接。

如何配置生产服务器的连接?

我的connections.js文件如下所示:

在我的环境配置文件中,我有:

开发.js

生产.js

这适用于我的本地计算机,因为生产数据库服务器位于外部服务器上。在生产环境中,我收到以下错误:

如果我从连接对象中删除 mongoDev 对象,它会起作用。

我也尝试过使用 adapters.js,但这只会导致一些弃用错误。

运行时我得到了一些不同的东西sails lift

0 投票
1 回答
2023 浏览

many-to-many - 如何计算与水线/帆的关联大小?

使用风帆 0.10.5/水线 0.10.15:

我找不到一个简单问题的答案:如何在不使用 populate() (将加载所有数据)的情况下计算关联的元素。

让我们与 via 建立一个简单的 many2many 关系:

现在我需要集合的大小。目前我尝试

这导致加载集合。

  • 我在收集级别缺少计数功能,以避免填充/加载数据。
  • 是否有可能访问(自动生成的)连接表以直接在连接上运行计数查询?

就像是:

或者

0 投票
1 回答
107 浏览

sails.js - 在 SailsJS 中,我想获取特定字段并显示为 html

这是我的代码。当我使用 find() 所有字段时我得到了结果,但我想使用 find 与产生错误的 where 条件。我应该改变什么?

我想从 mongoDB 获取所有管理员用户名..

在 HTML 中

错误 :

请帮助我..我是 Sails 的新手

0 投票
1 回答
1005 浏览

sails.js - 带有 2 个“或”子句的水线查询 where 子句

我正在尝试使用两个“或”子句编写一个风帆水线查询,其中两个子句都必须为真,但它似乎不起作用。这是我尝试过的查询,但它仅在“或”子句之一满足其条件时才拉出,我试图仅在两个“或”子句的条件都满足时才返回,而不是一个。这是一个错误还是有其他方法可以做到这一点?

0 投票
2 回答
467 浏览

node.js - Sails-mongo 多对多关联不起作用

我正在使用sails 0.10.5 ,并且我有两个模型如下,用于多对多关系。但我在提升应用程序时遇到错误。

模型1)Category.js

模型 2) SubCategory.js

现在在提升帆应用程序时,总是会触发此错误

所以我很困惑(我的代码错误或sails-mongo多对多关系存在问题)

--ND

0 投票
1 回答
621 浏览

sails.js - in sailsjs , 403 "You don't have permission to see the page you're trying to reach" error produce when adding new pages ,controllers and models

First i run my sails project in local , after i pushed in git repo and then i changed in online and then pushed in remote place. then i downloaded in my local. This changes produce permission problem. that is

this error caused while i was inserting data in mongo. what i should do ? i want get output back