Date.now()
它在以它的方式等著歡迎你
MongoDB Wire Protocol over TCP/IP,不是 HTTP 協(xié)議哦
http - How does the protocol "mongodb" work? - Super User
$OPTIONS這個(gè)環(huán)境變量沒指定?
個(gè)人觀點(diǎn):
希望對(duì)你有所幫助,謝謝
User.findOne()的內(nèi)容能發(fā)一下嗎?User.findOne()是不是返回Promise?你這樣寫試試:
user.post('/register', async(ctx) => {
let {username, password, rePassword} = ctx.request.body;
if (!username) {
responseClient(ctx, 400, 2, '用戶名不可為空');
return;
}
if (!password) {
responseClient(ctx, 400, 2, '密碼不可為空');
return;
}
if (password !== rePassword) {
responseClient(ctx, 400, 2, '兩次密碼不一致');
return;
}
try{
User.findOne({username}).then(function(doc,err){
if(err){
responseClient(ctx);
}
if(doc){
responseClient(ctx, 200, 1, '用戶名已存在');
return;
}else{
//保存到數(shù)據(jù)庫
let user = new User({
username: username,
password: password,
type: 'user'
});
user.save(function(err, doc){
if(err){
console.log(err);
}
if(doc){
let data = {};
data.username = doc.username;
data.userType = doc.type;
data.userId = doc._id;
responseClient(ctx, 200, 0, '注冊(cè)成功', data);
return;
}
});
}
})
}
}catch(e){
responseClient(ctx);
}
})
建議建一張輔佐表 weekDay 0-6,num 全部為0, left join輔佐表就可以了。
redis基于內(nèi)存,所以夠快,因?yàn)閟ession的數(shù)據(jù)量不大,訪問又相當(dāng)頻繁,所以推薦使用redis,反之如果是數(shù)據(jù)量非常大,則可以考慮mongodb
后來發(fā)現(xiàn)了async.mapSeries能將多個(gè)任務(wù)的結(jié)果匯集在一起
根據(jù)你的描述,A+C類似一個(gè)事務(wù)的操作,思路只要做到判定A+C的原子性即可。
sequelize只是一個(gè) ORM ,其能力仍然是基于原生 mysql 的,mysql 本身要怎么實(shí)現(xiàn)你的需求就怎么做。
很明顯,后面一種方式好啊,可以在parent_id和deep加個(gè)唯一索引,查找速度就更快了。只不過在新增數(shù)據(jù)的時(shí)候,需要額外一些開銷在計(jì)算deep上?;蛘吣阋部梢圆灰猟eep列,新增數(shù)據(jù)的時(shí)候直接插入,在查找時(shí) WHERE parent_id = 用戶ID ORDER BY ID ASC LIMIT 1,1,這就是用戶第二個(gè)推薦的人了。結(jié)合使用場景看怎么取舍了。
在Contains前面輸出
Console.WriteLine(string.join(" ", dt.Columns))
Console.WriteLine(field.Trim())已經(jīng)解決了,不僅要把數(shù)據(jù)庫字符集換成指定的utf8mb4,數(shù)據(jù)連接的時(shí)候也要設(shè)置chatset為utf8mb4
參考1:mysql npmjs
參考2:博客
以變量為鍵名時(shí),應(yīng)該用 []運(yùn)算符,而不是 .運(yùn)算符,所以
history.push({ prop: $('#div input')[i].value});
應(yīng)該改為
var obj = {};
obj[prop] = $('#div input')[i].value;
history.push(obj);//由于題主沒有講明數(shù)據(jù)列的字段,我這里自己命了名,如下:
//表名 Table_Bill
、
————————————————————————————————————————————————————————————————————————————
id | 客戶ID | 購買日期 | 到期日期 | 商品ID | 數(shù)量 | 單價(jià) | 金額
————————————————————————————————————————————————————————————————————————————
Id | CusId | BuyTime | DueTime | ArticlId | Num | Price | Money
————————————————————————————————————————————————————————————————————————————
、
SELECT a.* FROM [Table_Bill] a,(SELECT MAX(BuyTime) AS BuyTime ,ArticlId FROM [Table_Bill] GROUP BY ArticlId) b
WHERE a.BuyTime=b.BuyTime AND a.ArticlId=b.ArticlId
ORDER BY a.ArticlId
emm...我測(cè)試過,V5.6,mod沒問題,但是月份是不行。如第1樓的回答。
處理方式是:單獨(dú)加字段保存月份,用這個(gè)月份字段做分區(qū),查詢加條件就可以。
DISTINCT 針對(duì)的是select 后面的所有字段, 如果你想keyword不重復(fù),但對(duì)query_date不care, 你可以只取keyword, 如果你想取keywork和相應(yīng)的最大日期的query_date,可以用group by... having ....
如:
drop table t_query_keyword;
create table t_query_keyword(
user_id varchar(38) ,
keyword varchar(100),
query_date date
);
insert into t_query_keyword (user_id, keyword, query_date)
values ('748761E1-260F-4E61-9D0D-BE6D122560E2', 'java', '2018-01-01'),
('748761E1-260F-4E61-9D0D-BE6D122560E2', 'sql', '2018-01-02'),
('748761E1-260F-4E61-9D0D-BE6D122560E2', 'sql', '2018-01-03'),
('748761E1-260F-4E61-9D0D-BE6D122560E2', 'sql', '2018-01-03'),
('748761E1-260F-4E61-9D0D-BE6D122560E2', 'js', '2018-01-04'),
('748761E1-260F-4E61-9D0D-BE6D122560E2', 'html', '2018-01-05'),
('748761E1-260F-4E61-9D0D-BE6D122560E5', 'docker', '2018-01-06'),
('748761E1-260F-4E61-9D0D-BE6D122560E2', 'kvm', '2018-01-07');
SELECT DISTINCT
t.keyword,
t.query_date
FROM t_query_keyword t
WHERE t.user_id = '748761E1-260F-4E61-9D0D-BE6D122560E2'
ORDER BY t.query_date DESC
LIMIT 6;
返回的結(jié)果是:
+---------+------------+
| keyword | query_date |
+---------+------------+
| kvm | 2018-01-07 |
| html | 2018-01-05 |
| js | 2018-01-04 |
| sql | 2018-01-03 |
| sql | 2018-01-02 |
| java | 2018-01-01 |
+---------+------------+
6 rows in set (0.00 sec)
keyword=sql, query_date=2018-01-03有兩條,但因?yàn)镈ISTINCT, 只返回其中一條。
或者用如下的sql, 可以保證keyword不重復(fù)。
SELECT
keyword, max(query_date) as query_date
FROM t_query_keyword
WHERE user_id = '748761E1-260F-4E61-9D0D-BE6D122560E2'
group by keyword
ORDER BY query_date DESC
LIMIT 5;
返回的結(jié)果是
+---------+------------+
| keyword | query_date |
+---------+------------+
| kvm | 2018-01-07 |
| html | 2018-01-05 |
| js | 2018-01-04 |
| sql | 2018-01-03 |
| java | 2018-01-01 |
+---------+------------+
5 rows in set (0.00 sec)
dev-server的地址是localhost:7777,API地址是localhost:3306,你請(qǐng)求的時(shí)候請(qǐng)求localhost:7777/api/newStu/searchNewStu應(yīng)該就好了
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。