mongo – 安裝 mongodump 的方法
我目前要在現在的主機,備份遠端的 mongo,那麼必須要在本機使用 mongodump,要安裝工具
apt-get update
apt install mongo-tools
這樣就可以下指令
mongodump --forceTableScan --host="遠端 IP" --db=你想備份的資料庫 --out="匯出的絕對路徑" --gzip
我目前要在現在的主機,備份遠端的 mongo,那麼必須要在本機使用 mongodump,要安裝工具
apt-get update
apt install mongo-tools
這樣就可以下指令
mongodump --forceTableScan --host="遠端 IP" --db=你想備份的資料庫 --out="匯出的絕對路徑" --gzip
我在 Host 主機中,想要把 Docker 中的 A Container連線到 Host 上 Docker 外的其他服務,如資料庫 MongoDB,可以直接透過 “host.docker.internal” 連線,如下圖
mongodump --forceTableScan --host="host.docker.internal" --db=MyDatabase --out="/var/www/backup" --gzip
這幾天 laradock 重新安裝,跑 test 會出現LogicException: Please make sure the PHP Redis extension is installed and enabled.
追原因應該是 php-redis 現在也要使用版本號的關係,但是 laradock 的 Dockerfile 沒更新
查找已安裝的套件
sudo dpkg -l | grep php
因此在 workspace 下指令即可
apt-get update
# 先查詢可安裝的套件是否存在
apt-cache search php7.4-redis
# 執行安裝
apt-get install php7.4-redis
檢查看是否安裝
dpkg -l | grep php
# 或
php -m
這樣就正常了
從這裡輸入你要的歡迎字詞,登出後再登入就能看到了
sudo vim /etc/motd
以下介紹三種方法
如果有欄位是專門記錄建立時間,且格式使用 ISODate 那麼可以使用。範例:找出建立時間 (created_at) 介於GMT+8 台灣標準時間的 01 月 01 日 00 點到 09 點的訂單編號
db.order.find({
created_at: {
$gte: ISODate('2022-01-01T00:00:00+08:00'),
$lte: ISODate('2022-01-01T09:00:00+08:00')
}
})
運算符號可以參考
承上述方法,但是透過 Date() 可以稍微容易一點使用,相差不大。方式有這幾種:
db.order.find({
created_at: {
$gte: new Date("2022-01-01T00:00:00"),
$lte: new Date("2022-01-01T09:00:00"),
}
})
推薦。如果你的 _id 是使用預設的 ObjectId 那麼本身就已經具備時間戳記,可以配合 Date() 使用。例如找出客戶本地端的 01 月 01 日早上 10 點到 11 點的訂單。
db.order.find({
_id: {
$gte: ObjectId.fromDate( new Date("2022-01-01T10:00:00") ),
$lte: ObjectId.fromDate( new Date("2022-01-01T11:00:00") ),
}
})
這個方法推薦,是因為有時候忘記添加 created_at 的時候,就可以直接使用 _id 查找。且 _id 本身已經是具有 index 因此很容易使用。