Javascript mongodb:无法使用google云功能将许多内容插入mongodb Atlas服务器

Javascript mongodb:无法使用google云功能将许多内容插入mongodb Atlas服务器,javascript,arrays,node.js,mongodb,google-cloud-functions,Javascript,Arrays,Node.js,Mongodb,Google Cloud Functions,我希望通过移动api调用将数据存储到Mongodb中。我正在使用谷歌云功能将数据从移动客户端发送到MongoDB Atlas。我尝试使用以下代码,但是它似乎忽略了newDataarray,没有发送任何内容,MongoDB仍然为空 以下是当前的解决方案: let newData={ transId:trans['trans_id']?trans['trans_id']:'', 发件人:trans['ledger\u to_id']?trans['ledger\u to_id']:'', 接收人:t

我希望通过移动api调用将数据存储到Mongodb中。我正在使用谷歌云功能将数据从移动客户端发送到MongoDB Atlas。我尝试使用以下代码,但是它似乎忽略了
newData
array,没有发送任何内容,MongoDB仍然为空

以下是当前的解决方案:

let newData={
transId:trans['trans_id']?trans['trans_id']:'',
发件人:trans['ledger\u to_id']?trans['ledger\u to_id']:'',
接收人:trans['ledger\u from\u id']?trans['ledger\u from\u id']:'',
createdAt:trans['created_at']?trans['created_at']:'',
金额:交易记录[“成本”]?交易记录[“成本”]:“”
};
db.collection('test').insertMany(newData)
db.close();
我试过
db.collection('test').bulkWrite(newData)

全部功能:

index.js

exports.costLedger=functions.https.onCall(异步(数据、上下文)=>{
var allTrans=等待获取(`v1/customer/orders`);
连接(连接URL,函数(错误,客户端){
assert.equal(null,err);
log(“已成功连接到服务器”);
const db=client.db(数据库名称);
用于(全反式中的var transIndex){
var trans=全反式[transIndex];
console.log(trans['trans_id']);
设newData={
transId:trans['trans_id']?trans['trans_id']:'',
发件人:trans['ledger\u to_id']?trans['ledger\u to_id']:'',
接收人:trans['ledger\u from\u id']?trans['ledger\u from\u id']:'',
createdAt:trans['created_at']?trans['created_at']:'',
金额:交易记录[“成本”]?交易记录[“成本”]:“”
};
db.collection('test').insertMany(newData)
db.close();
}
});
返回全反式;
})
编辑:功能可以连接到数据库

请参见:

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'] : ''
}];
见:

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'] : ''
}];

@JackBashford…我收到错误:
/Users/apple/Project/mongodb trans data/functions/node\u modules/mongodb/lib/utils.js:433:24>(node:3921)未处理Promisejection警告:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺。(拒绝id:406)>(节点:3921)未经处理的PromisejectionWarning:MongoError:拓扑已被破坏
谢谢Jack,已设法修复。我以前通过对代码的简单重新排列修复了这个错误。@JackBashford….我收到了错误:
>at/Users/apple/Project/mongodb trans-data/functions/node\u modules/mongodb/lib/utils.js:433:24>(node:3921)未处理的Promisejection警告:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺。(拒绝id:406)>(节点:3921)未经处理的PromisejectionWarning:MongoError:拓扑已被破坏
谢谢Jack,已设法修复。我之前已经修复了这个bug问题,只需对代码进行简单的重新排列。