我想在我的模型中有数组或集合,这是否可以使用waterline(mongoDB)?周围有什么替代品吗?
例:
{
name: Bundle,
col1 : {
name : anOtherModel,
subCol: {
text: aString,
...
}
},
col2 : {
name : anOtherModel,
subCol: {
text: aString,
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
至:
module.exports = {
attributes : {
name : {
type : 'STRING',
required : true
},
basicModules: {
type : 'ARRAY', // or 'COLLECTION'
required : false
}
}
};
Run Code Online (Sandbox Code Playgroud) 因此,我对mocha完全不熟悉,并且我被要求编写集成测试,将表单数据发布到页面,获取身份验证密钥,然后对密钥运行测试.
我正确地获得了密钥,这可以通过我的日志声明来确认,但是当我运行mocha时,我的测试表示0传递.它甚至没有打印出'describe'和'it'语句的描述,暗示它们在promise中不起作用.有没有我可以这样工作,同时仍然让断言访问我的授权密钥?
require('should');
require('sails');
var Promise = require("promise");
var request = require('request');
describe('Domain Model', function(){
var options = { url:'link',
form:{
username: 'xxxxx@xxxxxx',
password: '0000'
},
timeout: 2000
};
//request auth key
var promise = new Promise(function(resolve,reject){
request.post(options, function(error, response, body){
//body contains the auth key, within a string of JSON
resolve(body);
});
});
//this is where I'm getting lost
promise.then(function(data,test){
var token = (JSON.parse(data))["access_token"];
console.log(token);
describe('Initialize',function(){
it('should be an string', function(){
(token).should.be.type('string');
});
});
});
});
Run Code Online (Sandbox Code Playgroud) 我正在考虑将我的网站迁移到Google Cloud SQL,然后我注册了一个免费帐户(D32).
在有23k记录的桌子上进行测试时,性能非常差,所以我读到如果我从免费帐户转到完全付费帐户,我可以访问更快的CPU和HDD ...所以我做到了.
表演仍然非常糟糕.
我正在运行我自己的MySQL服务器多年,根据需要升级以处理越来越多的连接并获得原始速度(由于遗留应用程序需要).我高度优化表,配置和大量使用查询缓存等...
我们遗留系统的几页每页有超过1.5k的查询,目前我能够将所有查询的mysql查询时间(执行和拉动数据)推迟到3.6秒,这意味着MySQL需要大约0.0024秒执行查询并返回值..不是最大但可接受的那些页面.
我将涉及这些问题的表格上传到Google Cloud SQL.我注意到INSERT已经执行SECONDS而不是毫秒......但我认为它可能是syncvs async设置.我将其更改为async并且插入的执行时间不会改变.现在不是一个大问题,我现在只测试查询.
我运行一个简单的select * FROM <table>,我注意到它需要超过6秒..我认为可能查询缓存需要构建..我再试一次,这次需要4秒(不包括网络流量).重启后我在备份服务器上运行相同的查询,根本没有连接,只需不到1秒......再次运行,0.06秒.
也许问题是缓存,太大了......让我们尝试一个较小的子集
select * from <table> limit 5;
所以我决定在空桌上尝试一个愚蠢的选择,根本没有记录,只用1个字段创建
分析不会提供任何见解,除了查询缓存没有在Google Cloud SQL上运行,并且查询执行似乎更快但......不...
我的服务器:
mysql> show profile;
+--------------------------------+----------+
| Status | Duration |
+--------------------------------+----------+
| starting | 0.000225 |
| Waiting for query cache lock | 0.000116 |
| init | 0.000115 |
| checking query cache for query | 0.000131 |
| checking permissions …Run Code Online (Sandbox Code Playgroud) 我按照本指南https://firebase.google.com/docs/hosting/cloud-run来设置云运行 docker。然后我尝试按照本指南https://cloud.google.com/run/docs/logging执行简单的日志。尝试将结构化日志写入 stdout 这是我的代码:
trace_header = request.headers.get('X-Cloud-Trace-Context')
if trace_header:
trace = trace_header.split('/')
global_log_fields['logging.googleapis.com/trace'] = "projects/sp-64d90/traces/" + trace[0]
# Complete a structured log entry.
entry = dict(severity='NOTICE',
message='This is the default display field.',
# Log viewer accesses 'component' as jsonPayload.component'.
component='arbitrary-property',
**global_log_fields)
print(json.dumps(entry))
Run Code Online (Sandbox Code Playgroud)
我在 Cloud Logs Viewer 中看不到此日志。每次调用 docker 时,我都会看到 http Get 日志。我错过了什么吗?我对此很陌生,想知道假设我创建的 docker 完全按照指南中的步骤(https://firebase.google.com/docs/hosting/cloud)记录信息并查看它的简单方法是什么-运行)
谢谢
我正在尝试使用水线进行"$ in"查询我有一个数组,我想得到一个包含数组中的ID的文档列表.我不知道该怎么做.
我试过了:
User.find()
.where({id : {in : array}})
done(...)
Run Code Online (Sandbox Code Playgroud)
但它似乎没有按预期工作.
我能以任何方式做到这一点吗?
我刚开始使用Sails.js及其ORM,Waterline,并且非常喜欢它,但我不确定如何使用查询修饰符来表示日期.我正在使用sails-mysql.具体来说,我试图获取具有两个特定日期之间的日期时间字段的行.我试过这样做:
MyModel.find()
.where({ datetime_field: { '>=': startDate } })
.where({ datetime_field: { '<=': endDate } })
.done(function(err, objects){
// ...
});
Run Code Online (Sandbox Code Playgroud)
startDate并且endDate是两个Date对象.我也尝试将它们转换为字符串toString().在这两种情况下,我从数据库中获取每一行而不是两个日期之间的行.有没有办法做到这一点,或者这个功能还不是Waterline或sails-mysql的一部分?
我想用sails.js制作公共 WebSocket API .所以我想使用本机WebSockets而不是内置的socket.io,但使用Sails.js控制器和模型.可能吗?也许我可以实现自定义传输或其他东西.谢谢你的帮助.
我继承了一个没有文档的工作项目.这是一个sails.js应用程序.有一小组单元测试和端到端测试.
当我尝试使用grunt运行端到端测试时.我明白了:
$ grunt e2e
Running "nightwatch" task
started - PID: 5440
>> Executing "default" tests (standalone)
[Index] Test Suite
==================
Running: Should clean the collection
removing 0 places
>> Connection refused! Is selenium server started?
Run Code Online (Sandbox Code Playgroud)
我不知道自己错过了什么.这让我停留了一个多星期.
该项目在grunt- nightwatch中有一个selenium-server-standalone-2.40.0.jar.所以我把PID作为selenium服务器启动.如果我先启动jar(在grunt之外),我会得到
$ grunt e2e
org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
18:38:46.189 WARN - Failed to start: SocketListener0@0.0.0.0:4444
Exception in thread "main" java.net.BindException: Selenium is already running on port 4444. Or some other service is.
at org.openqa.selenium.server.SeleniumServer.start(SeleniumServer.java:491)
at org.openqa.selenium.server.SeleniumServer.boot(SeleniumServer.java:300) …Run Code Online (Sandbox Code Playgroud) 我用sails.js(node.js)和创建了一个聊天应用程序socket.IO.
我需要实施audio chat并file transfers与之一起实施.
任何人都可以帮我获得WebRTC与之集成的基本教程链接socket.IO吗?
提前致谢.
sails.js中的disk.db在哪里?我没有在.tmp文件夹中看到它.我添加了用户模型和控制器,并能够添加用户和查询.我也停止并重新启动应用程序,因此它必须存储在某个地方.