相关疑难解决方法(0)

尝试使用Mongoose进行批量upsert.最干净的方法是什么?

我有一个包含三个字段的文档的集合: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)

mongoose mongodb node.js

15
推荐指数
4
解决办法
8515
查看次数

如何使用C#驱动程序在MongoDB中更新和升级多个文档

我正在使用MongoDB 2,我想更新多个文档并将一个值processed:true 插入到集合中.但MongoDB c#api只允许我们更新多个记录或Upsert一条记录.

如何使用C#api解决这个问题?

upsert mongodb

13
推荐指数
3
解决办法
2万
查看次数

标签 统计

mongodb ×2

mongoose ×1

node.js ×1

upsert ×1