windows-dify-插入数据到MongoDB

237 阅读1分钟

创建工作流 开始 -> 执行代码 -> 结束 执行代码内容: '''def main() -> dict: from pymongo import MongoClient import json

 # 连接 MongoDB
    client = MongoClient("mongodb://username:password@localhost:27017/")
    db = client["difydb"]
    collection = db["infoCol"]

    # 模拟从 Dify API 获取数据(替换为实际 API 调用)
    dify_data = [
    {"user": "Alice", "action": "query", "timestamp": "2025-08-20T10:00:00"},
    {"user": "Bob", "action": "create", "timestamp": "2025-08-20T10:05:00"}
]
    result = collection.insert_many(dify_data)  
    print(f"插入 {len(result.inserted_ids)} 条数据")`   

然后就开始报错了;\

问题1.Failed to execute code, which is likely a network issue, please check if the sandbox service is running. ( Error: [Errno -2] Name or service not known ) \
解答1(未解决):`services: 
   sandbox: image: langgenius/dify-sandbox:0.2.12 privileged: true # 解决权限问题 restart: unless-stopped # 避免无限重启循环`
config.yaml中去掉以下内容解决了sandbox重启问题,仍然出现 error: operation not permitted:
allowed_syscalls:
  - "connect" - "socket" - "bind"  - "listen"
  - "accept" - "sendto"  - "recvfrom"
问题2: pymongo.errors.ServerSelectionTimeoutError: host.docker.internal:27017: [Errno -3] Temporary failure in name resolution (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms), Timeout: 30s, Topology Description: <TopologyDescription id: 68a676d2531a846fc508af8f, topology_type: Unknown, servers: [<ServerDescription ('host.docker.internal', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('host.docker.internal:27017: [Errno -3] Temporary failure in name resolution (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>]>
解答2: