可以利用存儲(chǔ)過程解決,循環(huán)執(zhí)行
SELECT Term, BeginDate, DATE_ADD(當(dāng)前的日期,INTERVAL 7 DAY), 當(dāng)前的周數(shù) FROM term_info
當(dāng)前的日期=DATE_ADD(當(dāng)前的日期,INTERVAL 7 DAY)
當(dāng)前的周數(shù)+1
結(jié)果保存到臨時(shí)表
MongoVUE已經(jīng)停止更新很久了,使用軟件之前看一下它本身的版本和它支持的軟件版本就可以發(fā)現(xiàn)了。
替代產(chǎn)品有:
不是 mongodb 的問題,是 Promise 使用的問題,如果你的3個(gè) save 沒有先后關(guān)系的話可以用 Promise.all:
var mongoose = require('mongoose')
const Project = mongoose.model('Project')
exports.createProject = async(data) => {
data.m.projectModelId=data.m.projectModel.split(',')[0]
data.m.projectModelName=data.m.projectModel.split(',')[1]
delete data.m.projectModel
const p1 = new Project(data.m).save()
const p1 = new ProjectData(data.formModels).save()
const p1 = new ProjectData(data.tableModels).save()
try {
await Promise.all([p1, p1, p3])
console.log('save success')
} catch (e) {
console.log('save failed')
}
}
分庫分表是解決查詢效率的問題。一點(diǎn)小想法,可不可以這么來理解
1.對查詢速度最敏感是用戶,優(yōu)先考慮以用戶ID來分割,優(yōu)化前端用戶的查詢速度
2.店鋪ID和訂單ID另建一張冗余表來建立關(guān)聯(lián)
3.訂單和商品是多對多關(guān)系,可以以商品ID來分表,并建冗余表關(guān)聯(lián)
4.可不可以引入其他技術(shù)來實(shí)現(xiàn),比如mongodb、E Search
我說下我們的做法,我們每天的交易數(shù)據(jù)量是200萬以上,核心在后半夜交易量極少的情況下做跑批清算,這個(gè)動(dòng)作每天只做一次,在早上上班之前跑出結(jié)果,然后由清算人員進(jìn)行人工審核。數(shù)據(jù)庫用的是oracle10g,公司購買的正版。即使是埋點(diǎn),從運(yùn)營角度出發(fā),也是要寫入日志庫,然后再做二次分析。
- 首先這里提到了生成時(shí)間戳,這個(gè)時(shí)間戳的作用是什么?感覺不要.addCreatedAt方法(要不要時(shí)間戳)也可以???
對,不要也可以,生成時(shí)間戳的方法很多,我覺得作者的主要目的是演示怎么使用plugin
(沒看到上下文不確定)。
plugin()是mongolass自帶的方法?我在網(wǎng)上沒有看到相關(guān)內(nèi)容。
抱歉我也沒有看到。查了一下mongolass并不是十分流行的一個(gè)庫,自己的文檔中也沒有說明有這樣的方法。這種問題最好的解決辦法只有自己去讀源代碼,或者聯(lián)系庫作者。文章作者看樣子也很了解這個(gè)庫,可以與他聯(lián)系看看。plugin
的源代碼的話可以在index.js中找到;
里面的hook
可選值可以在schema.js中找到;
具體還要看你想干什么。
你可以試試pymsql,這個(gè)庫也很好用
$map,$reduce,$filter (segmentfault無法正確轉(zhuǎn)義美元符號(hào),湊合看吧……)這些運(yùn)算符在很多場景下可以幫助我們避免$unwind,語法請參考下文檔。對于你的要求,可以用$filter
直接解決問題:
文檔格式:
{
"_id" : ObjectId("5a6d7c5e0664b8343e7e126b"),
"keyID" : "111111111111",
"price" : 123,
"remark" : [
{
"city" : "beijing",
"point" : "A"
},
{
"city" : "shanghai",
"point" : "A"
},
{
"city" : "guangzhou",
"point" : "C"
}
]
}
aggregation寫法:
db.test.aggregate([{
$match: {
"remark.point": "A"
}
}, {
$project: {
_id: 1,
keyID: 1,
price: 1,
remark: {
$filter: {
input: "$remark",
as: "remarks",
cond: {
$eq: ["$$remarks.point", "A"]
}
}
}
}
}])
是這樣子的,我理解你的意思是,你查出一個(gè)訂單A,再查出一個(gè)訂單B,然后兩個(gè)訂單的參數(shù)都不一樣,但是你又想把兩個(gè)訂單合在一起,你可以寫個(gè)實(shí)體類,把訂單A和訂單B的參數(shù)放在同一個(gè)實(shí)體類中,然后這個(gè)實(shí)體類就可以當(dāng)做一個(gè)傳輸數(shù)據(jù)類
比如說去銀行取錢,那么取錢銀行會(huì)在卡上減金額,顯示余額和會(huì)再次讀取余額.如果此時(shí)你老婆在手機(jī)上買了一個(gè)口紅,那么此時(shí)你顯示的余額是有問題的.
最終改用redis存儲(chǔ)了。再也沒有延遲。
但redis的存儲(chǔ)空間比較寶貴,用速度換取空間還是用空間換取速度,這是一個(gè)問題。
折騰了一周,最后找出問題,其實(shí)造成性能下降的原因是某個(gè)查詢語句,不小心查詢到了1萬條符合的記錄,加起來好幾百M(fèi)B呢,多次查詢,可想而知。
又折騰了一兩天,最后redis爆滿了,只能換回來了。redis內(nèi)存比較昂貴,最好不要輕易放大量的東西。
Model.findById
與 findOne 相同,但它接收文檔的 _id 作為參數(shù),返回單個(gè)文檔。_id 可以是字符串或 ObjectId 對象。
Model.findById(obj._id, function (err, doc){
// doc 是單個(gè)文檔
});
這問題已經(jīng)解決,蠢問題
其他的想不到了,或者可以兩個(gè)結(jié)合,按日期分段來記錄余額,查詢的時(shí)候只要算少量的流水就能算出來,感覺沒什么必要
設(shè)置一個(gè)定時(shí)器,剛開始讓所有的table的div都顯示,在頁面打開若干秒或者毫秒之后,讓不該顯示的div隱藏就好了hide(),目前完美解決,后續(xù)有問題再續(xù)問
是不是config文件在這個(gè)路徑下C:/Program Files/MongoDB/Server/3.6/bin
多了一個(gè)bin
完全可以!某些業(yè)務(wù)場景特別適合這種嵌套的子集合設(shè)計(jì)。要用到數(shù)據(jù)project
數(shù)據(jù)的時(shí)候 ,需要一并用上task
。 這種只需要查詢一張表,效率很高。 而且mongo
對子集合的支持也比較好。
別拿sql server的方法,在mysql上用
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(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
浪潮集團(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)突出、引人入勝。
曾工作于聯(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é)及管理工作。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(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)師。