我已经开始在mysql 5.7中使用JSON数据类型.有没有办法提取没有引号的值?例如,在设置虚拟索引时.
例:
mysql> INSERT INTO test (data) VALUES ('{"type": "user" ,
"content" : { "username": "jdoe", "firstname" : "John", "lastname" : "Doe" } }');
mysql> SELECT json_extract(data,'$.type') FROM test;
+-----------------------------+
| json_extract(data,'$.type') |
+-----------------------------+
| "user" |
+-----------------------------+
Run Code Online (Sandbox Code Playgroud)
如何获得
+-----------------------------+
| json_extract(data,'$.type') |
+-----------------------------+
| user |
+-----------------------------+
Run Code Online (Sandbox Code Playgroud)
?
我们可以使用插值将输入写入模板:
@Component({
selector: 'tag',
inputs: ['color'],
template: `
<div id="test" style="background: {{color}}">
Some text
</div>
`,
})
class TestComponent {
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:是否有可能让它(以某种方式)像这样工作:
@Component({
selector: 'tag',
inputs: ['color'],
template: `
<div id="test">
Some text
</div>
`,
styles: ['#test { background: {{color}}; }'],
})
class TestComponent {
}
Run Code Online (Sandbox Code Playgroud)
最后一次尝试不起作用,我似乎无法找到如何去做的方法。
谢谢。
我有一个“测试”表,其中包含一个 PK 字段“id”和一个 JSON 字段“json_data”。我做了以下插入:
insert into test (json_data) values (JSON_ARRAY(1,2));
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做
select * from test where JSON_SEARCH(json_data, 'all', 2) is not null;
Run Code Online (Sandbox Code Playgroud)
我得到“空集”。虽然如果我插入
insert into test (json_data) values (JSON_ARRAY("1","2"));
Run Code Online (Sandbox Code Playgroud)
然后重复查询,我确实终于得到了
+----+------------+
| id | json_data |
+----+------------+
| 2 | ["1", "2"] |
+----+------------+
Run Code Online (Sandbox Code Playgroud)
为什么我必须引用这些数字才能对其进行查询?我宁愿不这样做,有什么办法吗?
我正在构建一个Electron应用程序,我需要选择一个可嵌入的NoSQL数据库.实际上,该数据库应该包含存储在ArangoDB远程后端上的本地数据子集.我一直在互联网上搜索很多,但到目前为止还没有收敛到最终的候选人.我希望有人能从经验告诉我.
典型的数据集可能达到数万个文档,我可以想象这个集合随着时间的推移会达到~1Gb的情况.此外,我需要二级索引.
我看过PouchDB,UnQlite,LokiJS,LevelDB,NeDB,LinvoDB ......
最后,NeDB和LinvoDB似乎是合理的候选者,具有持久性到磁盘(类似SQlite),其中NeDB无法处理大型数据集; LinDBDB(NeDB的一个分支)似乎能够处理的东西.LinvoDB不会将整个数据库加载到内存中,但默认情况下会将"所有内容"编入索引,并将其保留在内存中.
另一方面,我试图跟踪关于他们的索引的几个对话,其中NeDB似乎在他们的文档中建议它们被保存到磁盘(https://github.com/louischatriot/nedb#indexing),一旦建成,然后再次出现被LinvoDB否定(对不起,我在大量的标签打开中丢失了许多引用/来源......),建议索引在发布时从头开始构建.(也可能是我误解了NeDB的文档.)
基本上,我需要的是一个针对Electron应用程序的JS数据库解决方案,它可能包含"可观的"但不是"巨大的"数据量.该应用程序的加载时间,应该是合理的(即不劝阻使用),同时响应(即,数据库应包括二级指标),并尊重用户的资源,尽可能多地.
问题:
任何建议真的很感激.
我正在渲染器过程中构建一个角度为2的电子应用程序.我的主进程与套接字服务器通信.每当用户连接到此服务器或断开连接时,我希望在视图中显示用户的状态.
为此,我使用电子的ipc从主要向渲染器进程发送消息,就像这样
socket.on('connect', function() {
mainWindow.webContents.send('socket-connection-status', true);
});
socket.on('disconnect', function() {
mainWindow.webContents.send('socket-connection-status', false);
});
Run Code Online (Sandbox Code Playgroud)
在我看来,我有一个(简化的)角度组件,就像这样
const ipc = require('electron').ipcRenderer;
@Component({
selector: 'status-bar',
template: '{{status}}'
})
export class StatusBarComponent {
private status: string = "offline";
constructor() {
ipc.on('socket-connection-status', function(event, status) {
if (status===true) {
this.status = 'online';
} else {
this.status = 'offline';
}
console.log(status); // Successfully logs true|false
console.log(this.status); // Successfully logs online|offline
})
}
}
Run Code Online (Sandbox Code Playgroud)
我成功地从主进程记录消息.
问题是角度2不"知道"电子的ipc,因此不会触发变化检测status
.我看到有几个人在努力解决这个问题,但没有遇到过"真正的"解决方案.
我试图与注射来解决它ApplicationRef
,ChangeDetectorRef
和ngZone
(参考:手动触发Angular2变化检测),但没有提供的方法(tick() …
我有一个remote
不是类实例本身的对象.由于Angular 2-5的性质,我需要在服务中包装此Object,以便将其注入组件中.该对象具有声明为' Remote
' 的接口.
我将如何进行以下工作?
import { Injectable } from '@angular/core';
import { remote, Remote } from 'electron';
@Injectable()
export class RemoteService implements Remote {
constructor() {
Object.assign(this, remote);
}
}
Run Code Online (Sandbox Code Playgroud)
即,如何创建一个RemoteService
实例看起来像的服务类Remote
,而不必手动包装所有remote
成员?我不能使用extend,因为remote
它本身不是一个类的实例,只是一个对象.
在上面的例子中,Typescript编译器会抱怨RemoteService
错误地实现Remote
(自然).有没有办法强迫编译器理解RemoteService
为实现Remote
?
为什么不编译?
interface ITest { ... }
class Test implements ITest { ... }
class Factory<T extends ITest> {
constructor(private _Test: typeof Test) { }
create(): T {
return new this._Test();
}
}
Run Code Online (Sandbox Code Playgroud)
它给出了Type 'Test' is not assignable to type 'T'. (property) Factory<T extends ITest>._Test: new () => Test
.
我怎么能让它发挥作用
create(): ITest
Run Code Online (Sandbox Code Playgroud)
或通过
private _Test: any
Run Code Online (Sandbox Code Playgroud)
两者都不会真正沟通(代码方式)我所追求的.我能用它做任何事情吗?
angular ×3
electron ×2
json ×2
mysql ×2
typescript ×2
css ×1
database ×1
embeddable ×1
javascript ×1
nedb ×1
nosql ×1