鍍金池/ 問答/ 數(shù)據庫問答
柚稚 回答

id隨便什么類型都行,每一個數(shù)據mongodb都會給你自動成成一個objectid類型的_id,你也可以直接使用_id

毀與悔 回答

aspx這個是ASP.NET的WebForm框架的頁面,它一般是和.aspx.cs、.aspx.designer.cs一同出現(xiàn)的,如果,項目里只有aspx文件,說明這個項目是編譯過的,這個就沒辦法更改了,只能用ILSpy這種反編譯工具反編譯dll查看源碼了

伴謊 回答

不存在的值比較多的話,建議采用先新建一個臨時表存儲這些數(shù)據,然后再通過sql關聯(lián)的方式來實現(xiàn);這樣效率會更高;當然量不多的情況,直接使用in 或者not in也很快

尐飯團 回答

如果title不重復,很簡單地做一下映射就可以了

db.test.find({"menu.title": '和梨一起'}, {name: 1, "menu.$": 1})

但是$只會給你第一個匹配的數(shù)組元素,所以如果title有重復,則需要通過aggregation的filter運算符來處理。具體用法參考文檔中的例子。

扯機薄 回答

SELECT id, score from table GROUP BY score HAVING COUNT(score) = 1 ORDER BY score LIMIT 1

脾氣硬 回答

console 不是說的很清楚么

毀了心 回答

我將congfig文件中的app.config['xxx']修改成['xxx']='xxx'的格式就不會出現(xiàn)這個提醒了,例如將
app.config['SECRET_KEY'] = 'hard to guess string'修改為 SECRET_KEY = 'hard to guess string'
不知道原因,但是確實這樣操作后就沒有警告了

獨白 回答

不是 mongodb 的問題,是 Promise 使用的問題,如果你的3個 save 沒有先后關系的話可以用 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')
    }
}
情未了 回答

從后臺發(fā)過來一個json,和你本地保存一個json的區(qū)別:
1、前者有網絡傳輸消耗,當然比后者慢一點
2、將來城市地名更新,前者只需修改后臺程序,后者需要重新打包前端程序。

綜上所述,我認為的最佳方式是調用后臺接口獲取后,緩存在前端,前端程序退出的時候清空緩存

如果你直接寫在js里,可以省去解析json的時間(可以忽略不計)

怣人 回答

docker可以做這個,自動同步,

朽鹿 回答
---模擬測試數(shù)據
;WITH test(post_no,tkt_no,[Zone],unit)AS(
   SELECT '710001','ZAA865286','A','N' UNION ALL
   SELECT '710630','ZAA865924','A','N' UNION ALL
   SELECT '710631','ZAB598749','B','N' UNION ALL
   SELECT '711261','ZAB599394','B','N' UNION ALL
   SELECT '711262','ZAC383493','C','N' UNION ALL
   SELECT '712987','ZAC385251','C','N' UNION ALL
   SELECT '720001','ZBA543954','D','C' UNION ALL
   SELECT '720407','ZBA865924','D','C' UNION ALL
   SELECT '720408','ZBB236123','E','C' UNION ALL
   SELECT '720512','ZBB236228','E','C' UNION ALL
   SELECT '720513','ZBC193757','F','C' UNION ALL
   SELECT '720645','ZBC193894','F','C'
)
/*
select min(post_no) +'~'+ max(post_no) as post_no, min(tkt_no) +char(10) + char(13) +  max(tkt_no) as tkt_no, [Zone], max(unit)
from TEST
group by zone
order by post_no
*/
select t.min_postno+1200*(sv.number-1) as StartNo,case when t.min_postno+1200*sv.number-1>=t.max_postno then t.max_postno else t.min_postno+1200*sv.number-1 end as EndNo
      ,row_number()over(order by t.groupid,sv.number) as BoxNo
      ,case when t.min_postno+1200*sv.number-1>=t.max_postno then t.max_postno else t.min_postno+1200*sv.number-1 end-(t.min_postno+1200*(sv.number-1))+1

from (
    select left(post_no,2) as groupid, min(post_no) as min_postno,max(post_no) as max_postno,CEILING((convert(int,max(post_no))-min(post_no)+1)/1200.0) as boxcount
    from test as t
    group by left(post_no,2)
) as t
inner join master.dbo.spt_values as sv on sv.type='P' and sv.number between 1 and t.boxcount
StartNo EndNo BoxNo
710001 711200 1 1200
711201 712400 2 1200
712401 712987 3 587
720001 720645 4 645
空白格 回答

你可以參看這個鏈接Class:

https://github.com/matyhtf/framework/blob/master/libs/Swoole/Database/MySQL.php

他的做法是每次執(zhí)行完mysql_query后即使檢測返回值,如果mysql_query返回失敗,則再執(zhí)行一次mysql_connect,這樣可以確保下一次的請求正常。

深記你 回答

1、d和m2表在SELECT的字段清單中和WHERE的過濾條件中未使用,是否能取消關聯(lián)?
2、盡早使用LIMIT條件,建議把表m和表s先關聯(lián)查詢(有LIMT條件),然后再關聯(lián)其他表,如:

SELECT *
FROM (
    SELECT *
    FROM     es_members AS m
        LEFT JOIN es_sign AS s ON s.uid = m.uid
    LIMIT 0, 10
) ms 
    LEFT JOIN es_member AS m2 ON m2.uid = s.resp_id
    LEFT JOIN es_dynamic_reflection AS d ON m.uid = d.uid
刮刮樂 回答

可以參考這個文檔看看,http://docs.upyun.com/cloud/s...
有其他問題也可以直接咨詢下售后

陪妳哭 回答

你要看下你的自增序列是來自哪里,正常情況如果你刪除數(shù)據庫重建之后,自增偏移量是會重置的
有這么幾種可能:
1、有這么一個全局序列表用來存儲你的自增id值,重建db并沒有初始化該序列表
2、你是不是使用的刪除前的sql進行的重建,建表sql是會附帶當前自增值的,你需要重置掉這個auto_increment
最后一個,你的每次遞增3的情況,要么是全局配置id配置好的,要么就是你的集群節(jié)點自己配置自增的,自己去看配置就對了

互擼娃 回答

你只需要一個webstorm IDE就行了

影魅 回答

你可以看看你的表編碼應該是latin,建表的時候如果不指定編碼則mysql會使用全局的默認數(shù)據庫編碼。
建議你修改下你建表的SQL指定下編碼:

CREATE TABLE IF NOT EXISTS tdb_goods(
    goods_id    SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    goods_name  VARCHAR(150) NOT NULL,
    goods_cate  VARCHAR(40)  NOT NULL,
    brand_name  VARCHAR(40)  NOT NULL,
    goods_price DECIMAL(15,3) UNSIGNED NOT NULL DEFAULT 0,
    is_show     BOOLEAN NOT NULL DEFAULT 1,
    is_saleoff  BOOLEAN NOT NULL DEFAULT 0
  ) CHARSET=utf8;

要支持特殊編碼那么也建議你考慮utf8mb4編碼。