我正在建立一个用户将标签与帖子关联起来的系统,与SO不同.我有一个懒得实现标签同义词的地方.
这里我有一个名为Tags的表:
| TagName |
|------------|
| Python |
| JavaScript |
| Node |
Run Code Online (Sandbox Code Playgroud)
我有另一个名为TagSynonyms:
| SynonymId | SourceTagName | TargetTagName |
|-----------|---------------|---------------|
| 1 | Py | Python |
| 2 | Python2 | Python |
Run Code Online (Sandbox Code Playgroud)
服务器使用Node实现,用户以逗号分隔的字符串输入一些标签:
var input = 'Py,Flask'
var tags = request.tags.split(',');
Run Code Online (Sandbox Code Playgroud)
在这种情况下,用户输入了标签Py,根据TagSynonyms表,它应该映射到标签Python.第二个标签,Flask没有同义词,应该保持不变.
我设法使用命令式代码实现此功能:
tags.forEach(function (tag) {
connection.query('SELECT TargetTagName FROM TagSynonyms WHERE SourceTagName = ?', tag, function(err, rows) {
if (rows.length …Run Code Online (Sandbox Code Playgroud) 我的iso-8601持续时间如下:
PT15M51S
Run Code Online (Sandbox Code Playgroud)
我想将持续时间转换为秒,以便我可以将其存储在数据库中并按持续时间顺序等.
这是我到目前为止尝试的内容:
var moment = require('moment');
var duration = 'PT15M51S';
var x = moment(duration, moment.ISO_8601);
console.log(x.seconds());
Run Code Online (Sandbox Code Playgroud)
结果如何NaN.