Articles of mongodb query

MongoDB – Consulta sobre o último elemento de um array?

Eu sei que o MongoDB suporta a syntax find{array.0.field:”value”} , mas eu especificamente quero fazer isso para o último elemento na matriz, o que significa que eu não conheço o índice. Existe algum tipo de operador para isso, ou estou sem sorte? EDIT: Para esclarecer, quero encontrar () para retornar apenas documentos onde um campo […]

Documentos de ordenação do MongoDB por elementos de matriz

Eu tenho estrutura de documentos como: { map: ‘A’, points: [ { type: ‘type1’, distanceToSpawn: 110 }, { type: ‘type4’, distanceToSpawn: 40 }, { type: ‘type6’, distanceToSpawn: 30 } ] }, { map: ‘B’, points: [ { type: ‘type1’, distanceToSpawn: 100 }, { type: ‘type2’, distanceToSpawn: 60 }, { type: ‘type3’, distanceToSpawn: 25 } ] […]

Agregação do Mongodb $ group, restringir o comprimento do array

Quero agrupar todos os documentos de acordo com um campo, mas restringir o número de documentos agrupados para cada valor. Cada mensagem tem um conversation_ID. Preciso ter 10 ou menos números de mensagens para cada conversation_ID. Eu sou capaz de agrupar de acordo com o seguinte comando, mas não consigo descobrir como restringir o número […]

$ Soma condicional no MongoDB

Minha coleção no mongodb é semelhante à seguinte tabela no SQL: Sentimentos (empresa, sentimento) Agora, preciso executar uma consulta como esta: SELECT Company, SUM(CASE WHEN Sentiment >0 THEN Sentiment ELSE 0 END) AS SumPosSenti, SUM(CASE WHEN Sentiment <0 THEN Sentiment ELSE 0 END) AS SumNegSenti FROM Sentiments GROUP BY Company O que devo fazer para […]

MongoDB – Erro: comando getMore falhou: Cursor não encontrado

Eu preciso criar um novo campo sid em cada documento em uma coleção de cerca de 500 mil documentos. Cada sid é exclusivo e baseado nos campos roundedDate e stream existentes do registro. Eu estou fazendo isso com o seguinte código: var cursor = db.getCollection(‘snapshots’).find(); var iterated = 0; var updated = 0; while (cursor.hasNext()) […]

Bulk upsert no MongoDB usando mongoose

Existe alguma opção para realizar upserts em massa com o mangusto? Então, basicamente, ter uma matriz e inserir cada elemento, se não existir ou atualizá-lo, se existir? (Eu estou usando costumes _ids) Quando eu uso .insert, o MongoDB retorna um erro E11000 para chaves duplicadas (que devem ser atualizadas). Inserir vários documentos novos funciona bem […]

Diferença entre count () e find (). Count () no MongoDB

Qual é a diferença entre, eu basicamente queria encontrar todos os documentos na mycollection. db.mycollection.count() vs db.mycollection.find().count() ? Ambos retornam o mesmo resultado. Existe alguma razão pela qual alguém escolheria o count() vs o find().count() ? Em contraste com o fato de que find() tem um limite padrão aplicado (corrija-me se eu estiver errado) ao […]

MongoDB – O argumento para $ size deve ser um Array, mas era do tipo: EOO

Tentando criar uma fonte de dados do MongoDB com o icCube . A ideia é retornar o tamanho de uma matriz como um novo campo. Algo como : $project: { “people”: 1, “Count myFieldArray” : {$size : “$myFieldArray” } } Mas estou conseguindo para alguns registros o seguinte erro: The argument to $size must be […]

Mongoose encontrar / atualizar o subdocumento

Eu tenho os seguintes esquemas para o documento Pasta : var permissionSchema = new Schema({ role: { type: String }, create_folders: { type: Boolean }, create_contents: { type: Boolean } }); var folderSchema = new Schema({ name: { type: string }, permissions: [ permissionSchema ] }); Então, para cada página eu posso ter muitas permissions. […]

Como alterar todos os elementos da matriz em um documento mongodb para um determinado valor?

Suponha que eu tenha o seguinte documento { _id: ObjectId(“5234cc89687ea597eabee675”), code: “xyz”, tags: [ “school”, “book”, “bag”, “headphone”, “appliance” ], qty: [ { size: “S”, num: 10, color: “blue” }, { size: “M”, num: 45, color: “blue” }, { size: “L”, num: 100, color: “green” } ] } { _id: ObjectId(“5234cc8a687ea597eabee676”), code: “abc”, tags: [ […]