鍍金池/ 問(wèn)答/ 數(shù)據(jù)庫(kù)問(wèn)答
骨殘心 回答

很有可能是你這幾條數(shù)據(jù)已經(jīng)被刪除了

但是沒(méi)有刷新數(shù)據(jù)庫(kù)

導(dǎo)致拋出刪除已經(jīng)不存在的數(shù)據(jù)

刷新一下試試

厭遇 回答

可能你看的例子寫(xiě)得就不正確。
從設(shè)計(jì)的角度講你的sessiondb.col集合沒(méi)有任何關(guān)聯(lián),系統(tǒng)怎么會(huì)知道這個(gè)session怎么會(huì)作用于這個(gè)集合上呢?真實(shí)環(huán)境中會(huì)有多個(gè)session,多個(gè)集合,系統(tǒng)必須有一定的方法來(lái)知道對(duì)應(yīng)關(guān)系,所以現(xiàn)在的寫(xiě)法肯定是欠妥的。正確的寫(xiě)法是:

s = db.getMongo().startSession();
s.startTransaction();
s.getDatabase("<database>").col.insert({name: 'mongo'});
s.abortTransaction();
db.col.find();

事實(shí)上在你commit之前都不應(yīng)該在集合中查詢(xún)到新插入記錄。所以之前的寫(xiě)法這點(diǎn)就已經(jīng)不吻合了。
更多實(shí)例參考MongoDB官方文檔:Session.startTransaction

影魅 回答

似乎是開(kāi)啟了多個(gè)操作的原因

賤人曾 回答

python3 -m pip install pymysql

運(yùn)行你的程序也要指定是用 python3 xxx.py

問(wèn)題可能是pip3 install xxx跟你運(yùn)行程序時(shí)使用的Python解釋器不是同一個(gè)。

老梗 回答

安裝文檔是否都有照做呢?特別是

Add the following line to your php.ini file:
extension=mongodb.so

近義詞 回答

laravel 里面默認(rèn)沒(méi)有場(chǎng)景的概念,你可以使用不同的Request來(lái)模擬場(chǎng)景,達(dá)到你的需求

柒喵 回答

突然發(fā)現(xiàn)自己有點(diǎn)呆,docker中啟動(dòng)的mysql 端口鏡像指向服務(wù)器,所以只需要訪問(wèn)192.168.0.130這臺(tái)數(shù)據(jù)庫(kù)服務(wù)器的端口就可以了

雨蝶 回答
  1. 這是什么教程簡(jiǎn)直就是誤人子弟,學(xué)mongodb最好的方式是看官方文檔。

  2. mongod是mongodb數(shù)據(jù)庫(kù)的服務(wù)端進(jìn)程,mongo是客戶(hù)端,通過(guò)mongo可以連接到mongod服務(wù)端并進(jìn)行操作。

  3. windows上應(yīng)該是要把mongod配置成系統(tǒng)服務(wù),然后開(kāi)機(jī)自啟動(dòng)。

  4. mongod的dbpatch目錄下的數(shù)據(jù)存儲(chǔ)文件名沒(méi)有和你設(shè)置的庫(kù)名或者表名直接對(duì)應(yīng)的,你只能看到一堆collection(表)文件和一堆index(索引)文件,具體你某個(gè)庫(kù)或者表存儲(chǔ)在那個(gè)文件中對(duì)你是透明的。

尐潴豬 回答

說(shuō)明 between 這個(gè) operator 沒(méi)有生效,有可能是 http://docs.sequelizejs.com/m... 的原因。
把 operatorsAliases 加上試試:

const Sequelize = require('sequelize');

const Op = Sequelize.Op;      
const operatorsAliases = {
    $eq: Op.eq,
    $ne: Op.ne,
    $gte: Op.gte,
    $gt: Op.gt,
    $lte: Op.lte,
    $lt: Op.lt,
    $not: Op.not,
    $in: Op.in,
    $notIn: Op.notIn,
    $is: Op.is,
    $like: Op.like,
    $notLike: Op.notLike,
    $iLike: Op.iLike,
    $notILike: Op.notILike,
    $regexp: Op.regexp,
    $notRegexp: Op.notRegexp,
    $iRegexp: Op.iRegexp,
    $notIRegexp: Op.notIRegexp,
    $between: Op.between,
    $notBetween: Op.notBetween,
    $overlap: Op.overlap,
    $contains: Op.contains,
    $contained: Op.contained,
    $adjacent: Op.adjacent,
    $strictLeft: Op.strictLeft,
    $strictRight: Op.strictRight,
    $noExtendRight: Op.noExtendRight,
    $noExtendLeft: Op.noExtendLeft,
    $and: Op.and,
    $or: Op.or,
    $any: Op.any,
    $all: Op.all,
    $values: Op.values,
    $col: Op.col
};

const sequelize = new Sequelize('db', 'user', 'pass', {
   
    host: 'localhost',
    dialect: 'mysql',
    pool: {},

    operatorsAliases: operatorsAliases,  //操作符安全
});
墨小羽 回答

不寫(xiě)模塊名,默認(rèn)當(dāng)前模塊。
不寫(xiě)控制器,默認(rèn)當(dāng)前控制器。

青黛色 回答
  1. code怎么來(lái)的?是不是和邀請(qǐng)人ID有關(guān)系
  2. nodejs直接獲取查詢(xún)字符串得到code然后根據(jù)第1步得到邀請(qǐng)人ID
筱饞貓 回答

你的方案1慢是因?yàn)樽兂闪硕啻尾僮?,每次都需要?jīng)過(guò)網(wǎng)絡(luò)傳輸,對(duì)性能影響較大。相應(yīng)的解決方案也有多個(gè),取決于你的環(huán)境版本和驅(qū)動(dòng)版本可采用不同的方案(具體用法請(qǐng)查詢(xún)相應(yīng)版本驅(qū)動(dòng)的文檔,我下面給的是pymongo 3.7的鏈接):

使用bulk_write方法

初始化多個(gè)update方法,然后放在一個(gè)bulk里面執(zhí)行。bulk_write的文檔

使用唯一索引+insert_many+ordered=false

insert_many方法本質(zhì)上也是bulk操作,但它較update少了搜索的部分,因此理論上更快。
同時(shí)也是因?yàn)闆](méi)有進(jìn)行搜索就插入,它沒(méi)有辦法判斷插入的數(shù)據(jù)是否存在,這點(diǎn)就需要通過(guò)item_id上的唯一索引來(lái)確保。
同時(shí)默認(rèn)情況下insert_many使用ordered=true,遇到一個(gè)插入錯(cuò)誤(item_id重復(fù))就停止了,所以需要ordered=false。

懶豬 回答

1.在主機(jī)執(zhí)行以下命令
iptables -A INPUT -i docker0 -j ACCEPT
2.進(jìn)入容器,執(zhí)行命令
root@fdbbff27a91c:/# ip route
default via 172.17.0.1 dev eth0
172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.2
得到 172.17.0.1 ,可以通過(guò)該地址訪問(wèn)宿主
具體可參考:
https://stackoverflow.com/que...

name 是另一個(gè)表的字段嗎?

失心人 回答

可以創(chuàng)建兩張表,一張客戶(hù)表Customer ,一張單詞表Word
首先,Customer表:

    (客戶(hù)Id)              (姓名)       (次數(shù))
   CustomerId             Name         Num     
        1                 張三          2
        2                 李四          5
        3                 王五          8

然后是Word表:

   (單詞Id)          (關(guān)聯(lián)客戶(hù)Id)       (單詞大小) 
   WordId            CustomerId          Size
     1                   3                5
     2                   1                9
     3                   2                10
離殤 回答

如圖

訂單
圖片描述

orderinfo
圖片描述

執(zhí)行SQL為:

select sum(a.price * a.count) as total, a.order_id, b.user_id 
from `orderinfo` as a, `order` as b 
where a.order_id=b.id 
group by a.order_id
order by total DESC 
limit 10;

運(yùn)行結(jié)果:

圖片描述

請(qǐng)參考。

祉小皓 回答

這只是一個(gè)異步流程控制的問(wèn)題,寫(xiě)成Promise返回db并使用。而Promise狀態(tài)確定不再更改,也就不會(huì)走你鏈接db的邏輯

伐木累 回答

charset 問(wèn)題。建議全用utf-8