MySQL 和 MongoDB 都是流行的數據庫,并且它們有許多相似之處,但是它們的數據存儲方式卻不同。因此,某些或全部數據必須從 MySQL 同步到 MongoDB。下面,我們將探討如何將 MySQL 數據同步到 MongoDB。
其中,我們需要安裝 MongoDB Connector for BI,而 MySQL 要求安裝 Connector/J,接著,我們需要創建一個管道,以完成從 MySQL 到 MongoDB 的數據同步過程。以下是創建流水線的代碼:
pipeline = [ { "$match": { "__collection__": "users" } }, { "$project": { "_id": 0, "id": "$id", "name": "$name", "email": "$email", "password": "$password", "created_at": "$created_at", "updated_at": "$updated_at" } } ] collection = "mongodb_users" query = "SELECT * from users" resultSet = sourceConnection.executeQuery(query) while(resultSet.next()): targetCollection.insert_one(resultSet2Document(resultSet,pipeline[1]["$project"])) print(targetCollection.count_documents({}))
可以看到,我們首先需要從 MySQL 中選擇要同步的數據,同時選擇與 MongoDB 中的集合匹配的字段。然后使用 insert_one() 將其插入到 MongoDB 集合中。最后,我們檢查 MongoDB 集合是否成功同步到 MongoDB 服務器。
最后提醒一下,在實際生產環境中,我們需要更加細致地檢查同步操作的錯誤和異常,并使用相應的容災和安全策略保護數據的完整性。