Articles of mongoose

validação personalizada do mangusto usando 2 campos

Eu quero usar a validação personalizada do mangusto para validar se endDate é maior que startDate. Como posso acessar o valor de startDate? Ao usar this.startDate , não funciona; Eu fico indefinido. var a = new Schema({ startDate: Date, endDate: Date }); var A = mongoose.model(‘A’, a); A.schema.path(‘endDate’).validate(function (value) { return diff(this.startDate, value) >= 0; […]

Mangusto, atualize os valores na matriz de objects

Existe uma maneira de atualizar valores em um object? { _id: 1, name: ‘John Smith’, items: [{ id: 1, name: ‘item 1’, value: ‘one’ },{ id: 2, name: ‘item 2’, value: ‘two’ }] } Vamos dizer que eu quero atualizar o nome e itens de valor para o item onde id = 2; Eu tentei […]

Como proteger o campo de senha no Mongoose / MongoDB para que ele não retorne em uma consulta quando eu preencher as collections?

Suponha que eu tenha duas collections / esquemas. Um é o esquema de usuários com campos de nome de usuário e senha, então, eu tenho um esquema de blogs que tem uma referência ao esquema de usuários no campo de autor. Se eu usar o Mongoose para fazer algo como Blogs.findOne({…}).populate(“user”).exec() Eu terei o documento […]

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 […]

Incremento automático do mangusto

De acordo com este artigo mongodb , é possível incrementar automaticamente um campo e eu gostaria que o uso da maneira de coleta contadores. O problema com esse exemplo é que eu não tenho milhares de pessoas digitando os dados no database usando o console mongo. Em vez disso, estou tentando usar o mangusto. Então, […]

Mongoose findByIdAndUpdate não retornando o modelo correto

Eu tenho um problema que eu não vi antes com o Mongoose findByIdAndUpdate não retornando o modelo correto no retorno de chamada. Aqui está o código: var id = args._id; var updateObj = {updatedDate: Date.now()}; _.extend(updateObj, args); Model.findByIdAndUpdate(id, updateObj, function(err, model) { if (err) { logger.error(modelString +’:edit’ + modelString +’ – ‘ + err.message); self.emit(‘item:failure’, […]

mongoError: a topologia foi destruída

Eu tenho um serviço REST construído em node.js com Restify e Mongoose e um mongoDB com uma coleção com cerca de 30.000 documentos de tamanho normal. Eu tenho meu serviço de nó em execução através de pmx e pm2. Ontem, de repente, o nó começou a digitar erros com a mensagem “MongoError: Topology was destroyed”, […]

Como preencher um sub-documento em mangusto depois de criá-lo?

Estou adicionando um comentário a uma lista de item.comments. Eu preciso obter o comentário.created_by dados do usuário antes de eu saí-lo na resposta. Como devo fazer isso? Item.findById(req.param(‘itemid’), function(err, item){ var comment = item.comments.create({ body: req.body.body , created_by: logged_in_user }); item.comments.push(comment); item.save(function(err, item){ res.json({ status: ‘success’, message: “You have commented on this item”, //how do […]

(node: 3341) DeprecationWarning: Mongoose: mpromise

Eu estou tentando desenvolver uma class no topo do mangusto com meus methods personalizados, então eu estendo o mangusto com minha própria class, mas quando invoco cria um novo método de carro ele funciona, mas sua tira e erro, aqui eu deixo você ver o que Estou tentando fazer. Estou recebendo esse aviso (node:3341) DeprecationWarning: […]

Comparando mongoose _id e strings

Eu tenho um aplicativo node.js que puxa alguns dados e coloca-os em um object, assim: var results = new Object(); User.findOne(query, function(err, u) { results.userId = u._id; } Quando faço um if / then com base nesse ID armazenado, a comparação nunca é verdadeira: if (results.userId == AnotherMongoDocument._id) { console.log(‘This is never true’); } Quando […]