使用 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
,因为您只插入一个文档。
编写了一个触发器函数,可在 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
,因为您只插入一个文档。