我有一个包含三个字段的文档的集合:first_name,last_name和age.我试图找出Mongoose中我可以使用什么查询进行批量upsert.我的应用程序偶尔会收到具有相同三个字段的新对象数组.我希望查询检查文档中是否已存在第一个和最后一个名称,如果它们存在,则更新年龄(如果它不同).否则,如果名字和姓氏不存在,请插入新文档.
目前,我只是在进行导入 - 还没有为这个upsert片段构建逻辑.
app.post('/users/import', function(req, res) {
let data = req.body;
let dataArray = [];
data.forEach(datum => {
dataArray.push({
first: datum.first,
last: datum.last,
age: datum.age
})
})
User.insertMany(dataArray, answer => {
console.log(`Data Inserted:`,answer)
})
Run Code Online (Sandbox Code Playgroud)
`
我的用户模型如下所示:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema = new Schema({
first: String,
last: String,
age: Number,
created_at: { type: Date, default: Date.now }
});
var User = mongoose.model('User', userSchema);
module.exports = User;
Run Code Online (Sandbox Code Playgroud) 我正在使用MongoDB 2,我想更新多个文档并将一个值processed:true
插入到集合中.但MongoDB c#api只允许我们更新多个记录或Upsert一条记录.
如何使用C#api解决这个问题?