gpt4 book ai didi

node.js - 当您有新文档和现有文档的 JSON 数组时,是否有一个函数可以将新文档添加到数据库中?

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:15 27 4
gpt4 key购买 nike

我从 API 获取 JSON 数据,该数据会定期更新新对象。正如预期的那样,每当我运行函数从 API 获取信息然后插入数据库时​​,数据库都会再次添加所有文档。

有没有办法只从 API 添加任何新对象作为文档,并忽略任何现有文档。

我知道每次都会创建一个新的 ObjectID,因此它们实际上永远不会重复。我研究过复合索引,但我无法理解这如何解决我的问题。



let feed = await parser.parseURL('https://stackoverflow.com/jobs/feed?location=london&q=graduate');

var importantSOInfo = [];

const handleError = function() {
console.error(err);
// handle your error
};

feed.items.map(job => {

job = new Job ({
title: job.title,
url: job.link,
categories: job.categories,
});

importantSOInfo.push(job);
});

Job.insertMany(importantSOInfo, function(err) {
console.log(err);
});

})();

最佳答案

只需创建一个 unique indexurl 的架构中,例如:

var YourSchema = new Schema({
url: {
type: String,
unique: true,
index: true
},
title: String
//...
});

由于 urlSO 中应该是唯一的,因此您实际上不需要复合索引。

关于node.js - 当您有新文档和现有文档的 JSON 数组时,是否有一个函数可以将新文档添加到数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56279530/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com