鍍金池/ 問(wèn)答/ 數(shù)據(jù)庫(kù)問(wèn)答
痞性 回答

你安裝的這個(gè),應(yīng)該是:import mysql.connector

使用 MySQLdb 的話(huà),報(bào)錯(cuò)信息和這里(http://www.runoob.com/python/... )提到的一樣,應(yīng)該是沒(méi)有正確安裝拓展包。
可以去這里下載:https://sourceforge.net/proje...

涼薄 回答

可以使用later模塊實(shí)現(xiàn)定時(shí)任務(wù)。
至于分析文件,這個(gè)得看你們的.txt文件怎么保存數(shù)據(jù)了,使用特殊符號(hào)將數(shù)據(jù)隔開(kāi),還是用鍵值的形式存儲(chǔ),你只要用nodejs,讀取其中的數(shù)據(jù),然后將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為數(shù)組,對(duì)象或者序列化字符串等你需要的數(shù)據(jù)即可。使用過(guò)formidable中間件和querystring模塊你應(yīng)該知道。

傻丟丟 回答

問(wèn)題描述的不是很清楚

如果你想做的事情是: 當(dāng)前端傳入的數(shù)據(jù)為空字符串時(shí),在查詢(xún)時(shí)不對(duì)此字段做限制,只對(duì)前端傳了非空的字段進(jìn)行限制的話(huà), mongodb的find方法是需要傳一個(gè)給定值的,傳空字符串 會(huì)匹配此字段為空的記錄, 你需要在執(zhí)行db查詢(xún)操作之前,
在nodejs代碼中判斷字符串是否為空,然后再執(zhí)行查詢(xún)語(yǔ)句。

不知是否幫到你,可以留言讓我進(jìn)一步了解你的問(wèn)題。

補(bǔ)充回答:

以nodejs的express框架action請(qǐng)求為例:

const mongoClient = require('mongodb').MongoClient;
module.exports.get = function (req, res, next) {
    let queryEmail = req.query.email;
    
    mongoClient.connect(url, function (err, db) {
        if (err) throw error;
        let col = db.collection('your_collection');
        if (typeof queryEmail === 'string' && queryEmail.length === 0) {
            col.find({}).toArray(function (err, list) {
                if (err) throw error;
                res.json({
                    data: list
                });
            });
        }
        else {
            col.find({ email: queryEmail }).toArray(function (err, list) {
                if (err) throw error;
                res.json({
                    data: list
                });
            });
        }
        
    });
    
}

以上代碼只是幫你打個(gè)樣,僅對(duì)于email這一個(gè)字段的查詢(xún), 當(dāng)輸入為空字符串時(shí),直接將查詢(xún)條件設(shè)為了空對(duì)象,因此不對(duì)任何字段做限制輸出查詢(xún)結(jié)果;如果email字段里有貨,則在查詢(xún)條件中限制email字段必須符合輸入值。
有問(wèn)題請(qǐng)回復(fù)。

故人嘆 回答

400百萬(wàn)數(shù)據(jù)不會(huì)都放在userList里了吧?
數(shù)據(jù)從哪里來(lái)? 文件? 網(wǎng)絡(luò)?
如果那樣的話(huà)內(nèi)存除非很大,不慢才怪, 要分批, 一次或500~1000左右記錄是效率更高.

大濕胸 回答

這是把連接字符串配在app.config里了,app.config配了多個(gè)連接字符串,這個(gè)data意思是要找key為"data"的那個(gè)連接字符串。

哚蕾咪 回答

請(qǐng)把應(yīng)用中的MySQL連接字符串貼出來(lái)

純妹 回答

你可以試試這樣

from models.theme_product import Theme_Product

如果這個(gè)還不行,試試這個(gè)

from 項(xiàng)目目錄.models.theme_product import Theme_Product
骨殘心 回答

其實(shí)這個(gè)要用到filed這個(gè)方法,例子

LikeModel::where('typedid','in',$ids)
    ->where(['user_id'=>14,'status'=>1])
    ->filed('typeid,COUNT(*) as total')
    ->group('typeid')
    ->select();

沒(méi)有太過(guò)于去查看,大概就這個(gè)意思

病癮 回答
mongo --host 'mongodb://10.0.1.59:27017'
安若晴 回答

假設(shè)表結(jié)構(gòu)如下

CREATE TABLE `signs` (
  `userid` int(11) NOT NULL,
  `signtime` int(11) NOT NULL,
  `type` tinyint(1) DEFAULT NULL,
  PRIMARY KEY (`userid`,`signtime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

可以用如下SQL解決

select tmp.*,
    max_signout-min_sign diff  #簽退時(shí)間差
    from (
    select 
    date(FROM_UNIXTIME(signtime)) day , 
    userid,
    min(
        case type
        when 0 then
         signtime
        when 1 then
            #這里表示的是一個(gè)無(wú)窮大的意思,反正就是讓簽退時(shí)間不參與比較,
         100000000000
        end
    ) min_sign, #一天中的最早的簽到時(shí)間
    max(
        case type
        when 0 then
         0
        when 1 then
         signtime
        end
    ) max_signout #一天中的最晚簽到時(shí)間
    from signs 
    group  by 1 ,2
) tmp 
order by diff desc ;

不過(guò)沒(méi)有考慮到跨天簽到的,比如早上9點(diǎn)打卡,第二天上午7點(diǎn)下班的情況。。。。

故林 回答

不推薦樓上說(shuō)的 replace info 的方式, 推薦在 PHP 代碼里取出這個(gè)字段的數(shù)據(jù), 對(duì)比, 一樣的話(huà)不更新, 不一樣的話(huà)做成最終要的樣子, 然后 update 更新到表中

乞許 回答

從上面的提示來(lái)看,就是因?yàn)槎丝诓煌?。截圖上你已經(jīng)有一個(gè)通過(guò)SSH Tunnel的連接是成功的,說(shuō)明實(shí)例是存活的。目前想到兩個(gè)可能性可以驗(yàn)證一下:

  1. 網(wǎng)絡(luò)防火墻。你的IP來(lái)自阿里云結(jié)點(diǎn),可以看一下阿里云的安全策略里面是否阻止了對(duì)外開(kāi)放27017端口。
  2. 如果是使用的MongoDB 3.6,它在默認(rèn)情況下支持IP白名單策略以防止未授權(quán)的訪(fǎng)問(wèn)。

出于安全原因并不太建議對(duì)公網(wǎng)開(kāi)放MongoDB端口,更建議把應(yīng)用和數(shù)據(jù)庫(kù)放在一個(gè)網(wǎng)絡(luò)內(nèi)部進(jìn)行訪(fǎng)問(wèn)。因?yàn)槌税踩蛲猓瑢?duì)公網(wǎng)開(kāi)放時(shí)帶寬往往也是達(dá)不到的。

帥到炸 回答

schema 是對(duì)一個(gè) database 的邏輯分割。你理解中的所有放在 database 中的東西,事實(shí)上,在 pg 中可能都是掛在 schema 下的, table, squeue, function, view, trigger 等。

具體的功能,我記得,表分區(qū) 也可以作用于 schema 。

當(dāng)然,如果你對(duì)這東西沒(méi)概念,你自然也不清楚如何正確使用它,那么忽略它,只使用 public 就好了。

賤人曾 回答
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
var activeFile = exports.activeFile = function activeFile(state) {
  return state.openFiles.find(function (file) {
    return file.active;
  }) || null;
};

//================
'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

exports.default = function () {
  return {
    currentProjectId: '',
    currentBranchId: '',
    currentMergeRequestId: '',
    changedFiles: [],
    endpoints: {},
    lastCommitMsg: '',
    lastCommitPath: '',
    loading: false,
    openFiles: [],
    parentTreeUrl: '',
    trees: {},
    projects: {},
    leftPanelCollapsed: false,
    rightPanelCollapsed: false,
    panelResizing: false,
    entries: {},
    viewer: 'editor',
    delayViewerUpdated: false
  };
};

http://babeljs.io/repl/

為啥不用工具直接導(dǎo)入?

  • 如果是格式化的文本數(shù)據(jù)文件,可以直接使用數(shù)據(jù)庫(kù)工具導(dǎo)入。
  • 如果是數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)庫(kù),有專(zhuān)門(mén)的對(duì)應(yīng)數(shù)據(jù)庫(kù)的備份恢復(fù)工具,都比api方式快、好。

具體還得看你到底是打算做什么,業(yè)務(wù)有什么關(guān)聯(lián),說(shuō)的不夠清楚

莓森 回答

語(yǔ)法要求,Group By本來(lái)就是根據(jù)某個(gè)字段來(lái)分組,最后查詢(xún)出的數(shù)據(jù)是取這個(gè)字段唯一的一個(gè)數(shù)據(jù)呈現(xiàn)。

但其他字段的數(shù)據(jù)是不一樣的,在分組后sqlserver無(wú)法將它們合并,所以當(dāng)然select *不行咯。

至于mysql為什么行,那肯定是別人做了優(yōu)化,在Group By后自動(dòng)合并數(shù)據(jù)了吧。

不舍棄 回答

new formData可以傳入一個(gè)form標(biāo)簽進(jìn)去,form標(biāo)簽內(nèi)所有的攜帶name屬性的表單元素會(huì)被認(rèn)為是formItem。

表單元素包含下列(可能還有其他的,但是不太常用了,2333):

  1. input
  2. textarea

如果你確定你數(shù)據(jù)的來(lái)源是一個(gè)div,那么很抱歉,直接new FormData是不能夠得到你想要的結(jié)果的
需要你自己在后邊進(jìn)行append的操作:

formData.append('content', document.querySelector(".ql-editor").innerHTML)
鐧簞噯 回答

order(...是不是漏了空格

壞脾滊 回答

1、如果業(yè)務(wù)需求一致性很強(qiáng)的話(huà),加鎖,或者線(xiàn)程阻塞保證數(shù)組的強(qiáng)一致性
2、使用非關(guān)系型數(shù)據(jù)庫(kù)比如redis或者mongodb或者mecache
3、使用隊(duì)列

眼雜 回答

不知道你怎么操作的,我是這么操作的,且沒(méi)報(bào)錯(cuò),你可以試下:
1/go build -gcflags "-N -l" test.go
2/gdb test
3/(gdb) b test.go:8
4/(gdb) r

其中第3步是main函數(shù)所在的行號(hào)。