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

Insert selective columns into collection using mongodb

编写了一个触发器函数,可在 listingsAndReviews 集合中插入完整文档时将完整文档插入我的集合 new_list

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 集合时,有没有办法 select 只需要特定的列。 在这种情况下,我只需要插入名称和 cart_id 并忽略其他。

我的示例集合列名称:

name     - string
cart_id   - objectid
number - string
address - string

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

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

Afaik 没有其他方法可以在 insert 方法上 "filter" 属性。 另请注意,您可以在此处使用 insertOne 而不是 insertMany,因为您只插入一个文档。