Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Como fazer upinsert de objetos dentro de um array

Boa tarde, eu estou com um pequeno problema ao tentar dar update (upinsert, verificar se existe o objeto, se existir update se não insert) em um documento que contém um array de objetos, no caso o upinsert é especificamente para esse array de objetos. Se souberem de alguma forma agradeço, estou usando o .NET Driver do Mongo. Aqui um exemplo dos documentos:

{
    "_id" : "5d691bc8c123ac946d817122", 
    "objectIds" :  [
        {
            "tries" : 0,
            "_id" : "2121997846"
        },
        {
            "tries" : 0,
            "_id" : "2121997846"
        }
    ]
}

O upinsert é para ser no "objectIds".

3 respostas

Oi Renan, não sei se entendi bem: é pra verificar se o objeto existe no array e se não existir, inserir, se existir fazer um update apenas daquele objeto, é isso mesmo?

Olá, é isso mesmo.

solução!

Até onde me lembro, esse comando deveria funcionar. Como fazer no .NET ai já não sei, não manjo da plataforma.

db.COLECAO.update( { objectIds: { $in: [ID] } }, objetoPraInserirOuAtualizar, {upsert: true} )