社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MongoDB

mongodb:无法使用google云函数向mongodb atlas服务器插入多个

Mike • 5 年前 • 1484 次点击  

我希望通过移动api调用将数据存储到mongodb中。我正在使用google云功能将数据从移动客户端发送到mongodb atlas。我试过使用下面的代码,但是它似乎忽略了 newData 数组,未发送任何内容,MongoDB仍为空。

以下是当前的解决方案:

    let newData = {
           transId: trans['trans_id'] ? trans['trans_id'] : '',
           sender: trans['ledger_to_id'] ? trans['ledger_to_id'] : '',
           receiver: trans['ledger_from_id'] ? trans['ledger_from_id'] : '',
           createdAt: trans['created_at'] ? trans['created_at'] : '',
           amount: trans['cost'] ? trans['cost'] : ''
         };
    db.collection('test').insertMany(newData)
    db.close();

我试过了 db.collection('test').bulkWrite(newData)

全部功能:

index.js

    exports.costLedger = functions.https.onCall(async(data, context) => {
      var allTrans = await get(`v1/customer/orders`);
      MongoClient.connect(CONNECTION_URL, function(err, client) {
        assert.equal(null, err);
        console.log("Connected successfully to server");
        const db = client.db(DATABASE_NAME);
        for (var transIndex in allTrans) {
          var trans = allTrans[transIndex];
          console.log(trans['trans_id']);
          let newData = {
            transId: trans['trans_id'] ? trans['trans_id'] : '',
            sender: trans['ledger_to_id'] ? trans['ledger_to_id'] : '',
            receiver: trans['ledger_from_id'] ? trans['ledger_from_id'] : '',
            createdAt: trans['created_at'] ? trans['created_at'] : '',
            amount: trans['cost'] ? trans['cost'] : ''
          };
          db.collection('test').insertMany(newData)
          db.close();
        }
      });
      return allTrans;
    })

编辑:函数可以连接到数据库。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47108
 
1484 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Jack Bashford
Reply   •   1 楼
Jack Bashford    5 年前

docs 以下内容:

document 要插入到集合中的文档数组。

只需在对象周围添加一对方括号:

let newData = [{
    transId: trans['trans_id'] ? trans['trans_id'] : '',
    sender: trans['ledger_to_id'] ? trans['ledger_to_id'] : '',
    receiver: trans['ledger_from_id'] ? trans['ledger_from_id'] : '',
    createdAt: trans['created_at'] ? trans['created_at'] : '',
    amount: trans['cost'] ? trans['cost'] : ''
}];