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

update 子查詢不能引用自身

離人歸 回答

因?yàn)樵趕egmentfault是第一次回答,在等待審核的過(guò)程中,查了查有關(guān)于mongodb的對(duì)于數(shù)據(jù)庫(kù)的安全驗(yàn)證相關(guān)的知識(shí),發(fā)現(xiàn)我會(huì)出現(xiàn)這種collection為空的現(xiàn)象是因?yàn)槲耀@取的db也為空,對(duì)于數(shù)據(jù)庫(kù)的獲取為空也是因?yàn)槲覍?duì)數(shù)據(jù)庫(kù)開(kāi)啟了安全驗(yàn)證的緣故。在DB_CONN_STR='mongodb://admin:admin@localhost:27017/MySite';//數(shù)據(jù)庫(kù)為MySite中所驗(yàn)證的用戶與密碼并不是我在這里需要的數(shù)據(jù)庫(kù)MySie的,所以報(bào)錯(cuò),當(dāng)我使用role.db為MySite的用戶,數(shù)據(jù)庫(kù)就可以正常連接了

朕略萌 回答

不是直接.find()就可以查出全部數(shù)據(jù)了嗎


用$exists關(guān)鍵字就可以查出來(lái)存在某字段的所有數(shù)據(jù):db.table.find({"_id":{$exists:true}})

蟲児飛 回答

我的這個(gè)項(xiàng)目會(huì)對(duì)你有所幫助的——https://github.com/eastossifr...

鹿惑 回答
GRANT ALL ON *.* TO ''@'%' IDENTIFIED BY '';

See: https://stackoverflow.com/que...

苦妄 回答

可以,操作過(guò)程是這樣:

  1. 拿出來(lái)的實(shí)例不要加--replSet參數(shù)啟動(dòng);
  2. 刪除local數(shù)據(jù)庫(kù):
    use local;
    db.dropDatabase();
  3. 加上--replSet重新啟動(dòng);
  4. 重新初始化一個(gè)新的復(fù)制集;

原理很簡(jiǎn)單,復(fù)制出來(lái)的節(jié)點(diǎn)已經(jīng)是一個(gè)復(fù)制集的一員,當(dāng)然不允許你重新初始化。但這些信息存儲(chǔ)于local庫(kù)的一些集合中(有興趣可以看看有哪些集合)。所以刪除這些集合,系統(tǒng)就會(huì)認(rèn)為這是一個(gè)沒(méi)有初始化過(guò)的復(fù)制集。然后就可以開(kāi)始初始化了。
實(shí)際上不用刪除local庫(kù),去改里面的表中的內(nèi)容也可以做到。但是可能這樣會(huì)更復(fù)雜,有興趣可以自己探索一下。

柒槿年 回答

你好,我看到你回答一個(gè)關(guān)于網(wǎng)站中英文切換的問(wèn)題,你做過(guò)這樣的網(wǎng)站嗎?能幫幫我嗎?

舊城人 回答

LIKE '%\\\\u672a\\\\u90fd%';
https://stackoverflow.com/que...

To get the LIKE comparison to match a literal backslash character, we need two backslash characters. As we just demonstrated, to get a backslash character in a string literal requires two backslashes. So we need a total of four backslash characters.

首先很感謝夜影給予的幫助,上述方法真實(shí)可用。下面是我結(jié)合夜影的方法做的一些補(bǔ)充。等于兩種方法都可以解決此類問(wèn)題,具體請(qǐng)參考:https://www.zkii.net/tech/php...

黑與白 回答

MongoVUE已經(jīng)停止更新很久了,使用軟件之前看一下它本身的版本和它支持的軟件版本就可以發(fā)現(xiàn)了。
替代產(chǎn)品有:

  • MongoDB Compass
  • MongoChef
  • Robomongo
舊螢火 回答

javascript操作json最方便了,而mongodb也是json存儲(chǔ)的,mongodb的操作語(yǔ)言是javascript,一點(diǎn)違和感都沒(méi)有。用mongodb也很方便,不需要事先設(shè)置數(shù)據(jù)結(jié)構(gòu),字段隨時(shí)可以加,要是用來(lái)保存RESTFUL API請(qǐng)求與返回?cái)?shù)據(jù)那就更方便了,不論數(shù)據(jù)有多復(fù)雜,直接扔進(jìn)去就好了。

淡墨 回答

使用時(shí)間字段是什么格式的?
datetime時(shí)間點(diǎn)?還是int分鐘數(shù)?

瘋子范 回答

自己找到問(wèn)題了。將mapperLocations的地址寫的更詳細(xì)就沒(méi)問(wèn)題了。

懶豬 回答

查了下,這個(gè)是某公司的私有協(xié)議格式,直接是不能轉(zhuǎn)碼的,你可以把樣本貼出來(lái),分析一下

鐧簞噯 回答

你好,我也遇到了相同的問(wèn)題,不知道你最后解決了沒(méi)有?。?/p>

話寡 回答

1、不要用*,需要什么字段就查什么字段
2、建索引
3、找DBA吧,數(shù)據(jù)庫(kù)重新優(yōu)化設(shè)計(jì)

哚蕾咪 回答

先確認(rèn)一下mysql workbench和應(yīng)用程序中是不是連的一個(gè)數(shù)據(jù)庫(kù);
然后在日志中打印一下sql運(yùn)行的語(yǔ)句,看是否存在漢字亂碼的問(wèn)題。

慢半拍 回答

你可能是公眾號(hào)沒(méi)有認(rèn)證,所以沒(méi)有權(quán)限吧!

以下是2018.3.30修改:

第1:你貼的是源碼,不是錯(cuò)誤代碼!
第2:你的源碼也是不完整的,別人根本沒(méi)有辦法調(diào)試!比如:
$content = $this->request($url);
請(qǐng)問(wèn):$this是什么對(duì)象?request方法的定義是怎樣的?
第3:你的源碼也是存在明顯的錯(cuò)誤的。在PHP中,單引號(hào)里的變量是當(dāng)字符串處理的,所以

$url='https://api.weixin.qq.com/cgi-bin/user/get?access_token=.$access_token.&next_openid=NEXT_OPENID
';

這一句,你請(qǐng)求的網(wǎng)址就真的是:

$url='https://api.weixin.qq.com/cgi-bin/user/get?access_token=.$access_token.&next_openid=NEXT_OPENID

這是不對(duì)的,應(yīng)該用雙引號(hào)。并且,你的參數(shù)NEXT_OPENID應(yīng)該是個(gè)變量,而你這里只是一個(gè)大寫字母的字符串!
綜上所述,你的代碼無(wú)法獲取用戶信息是正常的,和公眾號(hào)權(quán)限無(wú)關(guān),是代碼級(jí)問(wèn)題!
最后,附上一段可執(zhí)行的代碼,供你參考:

<?php
$appid='';//寫上你的appid
$appsecret='';//寫上你的密鑰
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$jsoninfo = json_decode($output, true);
$access_token = $jsoninfo["access_token"];
echo $access_token;

//獲取到openid
userlist($access_token);

//獲取用戶列表
function userlist($access_token){

   $url="https://api.weixin.qq.com/cgi-bin/user/get?access_token=$access_token";
echo 'url'.$url;

   // $content = $this->request($url);
   $content=curl1($url);
   print_r($content);
   $content = json_dcode($content);
   $openidList = $content -> data->openid;
   var_dump($openidList);

   echo '關(guān)注人數(shù)為:'.$content->total.'人.<br/>';
   echo 'openid列表為:<br/>';
   foreach($openidList as $key => $value){
       echo $value.'<br/>';
   }
}

function curl1($url1){

$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, $url1);
curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch1, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch1);
curl_close($ch1);
return $output;
}
囍槑 回答

你可以曬下你的sql語(yǔ)句嗎,還有你timestamp的索引是什么?