鍍金池/ 問答/ 數(shù)據(jù)庫問答
誮惜顏 回答

這實(shí)際上是沒有問題的,因?yàn)槟阌行聰?shù)據(jù)了啊,那原來的第一頁本來就是跑到第二頁了,所以你取第二頁就是原來的10條數(shù)據(jù)。如果為了防止新數(shù)據(jù)的干擾,可以帶上多一個(gè)條件,比如插入時(shí)間是從什么時(shí)間之前的,或者_(dá)id是從哪里開始。
關(guān)于多加一個(gè)條件:

  • _id的默認(rèn)值是ObjectId,它實(shí)際上是帶有時(shí)間戳的;

  • 所以在查詢時(shí)多加一個(gè)條件{_id: {$lt: <id>}}就可以保證新的數(shù)據(jù)不會(huì)被查出來

這個(gè)問題實(shí)際跟MongoDB也無關(guān)的,使用關(guān)系數(shù)據(jù)庫一樣會(huì)出現(xiàn)這樣的情況,那么關(guān)系數(shù)據(jù)庫你會(huì)如何處理呢?

墻頭草 回答
總不能每條數(shù)據(jù)每一列去循環(huán)出來比對(duì)吧?

應(yīng)用層只能這樣處理。

傲寒 回答

這種 IN中的語句確實(shí)不能像你那樣寫,無論如何@F_RepairDepartmentId0都被解釋為 單獨(dú)一個(gè) 字符串。
對(duì)于IN, 需要改成字符串拼接sql的形式,如下面這樣:

DECLARE @sql NVARCHAR(4000);
DECLARE @F_RepairDepartmentId0 NVARCHAR(3000);
SET @F_RepairDepartmentId0 = N'''ace7f0e7-f158-4587-920 D -e76546885198'', ''bf421a22-786b-40fd-8afc-c3e5e2364901''';
SET @sql = N'SELECT *
                       FROM FC_Repair
                       WHERE
                         F_RepairDepartmentId IN
                         (' + @F_RepairDepartmentId0 + ')';

EXEC sp_executesql @sql
老梗 回答
我用數(shù)據(jù)庫查詢工具,db.linkbase.find({"spider_name":"test_spider"})大約耗時(shí)122秒

是122秒還是122ms?122秒的話相當(dāng)慢了。
如果不確定是不是MongoDB方的問題,可以先用profiler看一下執(zhí)行的查詢到底花了多少時(shí)間。從你上面的信息來看,我比較傾向于不是數(shù)據(jù)庫這一端慢。

陌顏 回答

先查看mysqld的log文件,再定位是什么原因?qū)е?/p>

less /var/log/mysqld.log   

如果日志未報(bào)錯(cuò),那應(yīng)該是SELINUX的權(quán)限限制了

getenforce

Enforcing
就表明SELinux已經(jīng)啟用.只需要關(guān)閉即可。

setenforce 0 (0|1 開|關(guān))  

或者

setsebool ftpd_disable_trans 1  

最后重啟mysql。

裸橙 回答

async/await

不歸路 回答

沒有,studio 3T有。

青瓷 回答

對(duì)于這種虛擬主機(jī),你是沒有控制權(quán)限的,所以,要么購買帶 mongodb 數(shù)據(jù)庫的虛擬主機(jī),要么使用 vps

墨染殤 回答

優(yōu)雅的建議

  1. MongoClient.connectutil.promisify把他改成promiseawait等待鏈接成功。
  2. 持久化數(shù)據(jù)鏈接,不要每次請求鏈接數(shù)據(jù)庫。
  3. const collection = db.collection('site');寫成類的模式Site.find
  4. 同理把Site.find寫成await。
淺淺 回答

個(gè)人覺得給你的域名解析到的是一個(gè)網(wǎng)關(guān),后面掛著真正的數(shù)據(jù)庫,網(wǎng)關(guān)由于沒業(yè)務(wù)邏輯幾乎不會(huì)掛,后面的數(shù)據(jù)庫掛了,網(wǎng)關(guān)連接能用的庫,保證應(yīng)用數(shù)據(jù)庫不中斷

怣痛 回答

既然是用戶自定義,那么在列表顯示之前,需要用戶自定義列表頭

用一個(gè)數(shù)組存儲(chǔ)['字段名'=>'顯示名稱']
[
    '字段名1'=>'顯示名稱1',
    '字段名2'=>'顯示名稱2'
    '字段名3'=>'顯示名稱3'
]

導(dǎo)入過程,用戶自定義導(dǎo)入列
execl列假設(shè)3列: A1,B1,C1
[
    '字段名1'=>'A1',
    '字段名2'=>'B1',
    '字段名3'=>'C1',
]

按照相應(yīng)的規(guī)則導(dǎo)入數(shù)據(jù)

心悲涼 回答

后來通過其他渠道解決了該問題。
通過在設(shè)置文件中添加 bind_ip=0.0.0.0,再重啟mongodb,就解決了

糖豆豆 回答

shell的寫法:

db.<collection>.updateMany({
    quantity: 10
}, {
    $set: { sku: "abc" },
    $inc: { "metrics.orders": 5 }
});

對(duì)照mongoose的API自己改寫一下吧。

尕筱澄 回答

不知道你有沒有用過phpstudy,你可以在里面導(dǎo)入,選擇cvs格式試一下,看看可以嗎?不過看到你的activity_cost表貌似沒有加主鍵.

悶騷型 回答
SELECT u.USER_ID, r.USER_ROLE, u.USER_NAME FROM T_USER u LEFT JOIN T_ROLE r ON u.USER_ID = r.USER_ID;
巫婆 回答

SELECT number FROM test WHERE number REGEXP '號(hào)碼$';

測試的結(jié)果:
圖片描述

愛礙唉 回答

這樣就可以了(表名和字段名我隨便寫的):

select * from user where (group & 32) > 0