使用mongodb将选择性列插入集合中

问题描述 投票:1回答:1

编写了一个触发器函数,当new_list集合中有插入内容时,该函数将全部文档插入到我的集合listingsAndReviews中。

exports = function(changeEvent) {

    const fullDocument = changeEvent.fullDocument;

    const collection = context.services.get('Cluster0').db("sample_airbnb").collection("new_list");


    return collection.insertMany([fullDocument])
  .then(result => {
    console.log(`Successfully inserted ${result.insertedIds.length} items!`);
    return result;
  })
  .catch(err => console.error(`Failed to insert documents: ${err}`));

};

在将数据插入new_list集合时,是否可以选择仅特定的必需列。在这种情况下,我只需要插入名称和cart_id,而忽略其他名称。

我的样本收集列名称:

name     - string
cart_id   - objectid
number - string
address - string
node.js mongodb triggers database-trigger mongodb-atlas
1个回答
0
投票

您可以从fullDocument中提取所需的属性,然后插入此新对象:

return collection.insertMany([{name: fullDocument.name, cart_id: fullDocument.cart_id }])

Afaik,没有其他方法可以对insert方法上的属性进行“过滤”。还请注意,由于您只插入一个文档,因此可以在此处使用insertOne而不是insertMany

© www.soinside.com 2019 - 2024. All rights reserved.