/ / Como selecionar documento por id com Sails-mongo? - javascript, node.js, sails.js, sails-mongo

Como selecionar o documento por id com Sails-mongo? - javascript, node.js, sails.js, velas-mongo

User.find({ _id: { "!": user.id } }, function foundFriends (err, friends) {
if(err) return next(err);
res.view({
friends: friends
});
});

MONGODB :

{
_id: ObjectId("53b942f7c8638f7b17670acc"),
name: "PH",
admin: true,
online: false,
encryptedPassword: "$2a$10$PjcPRgL67ZSOWDjmEwTkvu30xKeDXdCwgZ.D0.bjyDRw9sOfS/4UK",
createdAt: ISODate("2014-07-06T12:37:11.522Z"),
updatedAt: ISODate("2014-07-09T18:22:47.25Z")
}

Este código não funciona, gostaria de selecionar o documento pelo Id. Não sei o que devo fazer para consertar isso no meu projeto de velas. Obrigado pela ajuda.

Respostas:

2 para resposta № 1

Existem algumas coisas que vejo que são estranhas com o seu código.
1. A função de retorno de chamada para as velas 10 deve ser executada com .exec ()
2. Eu acho que você não deve procurar por _id se apenas id. Acho que a linha de água analisa esse sublinhado.

Tendo isso em mente, seu código deve ser parecido com

User.find({ id: { "!": user.id } }).exec(function (err, friends) {
if(err) return next(err);
res.view({
friends: friends
});
});

1 para resposta № 2

Olá, você pode tentar encontrar, atualizar ou destruir por id com sails-mongo via select:

 //Schema
module.exports = {
autoPK : false,
attributes : {
id : {
type: "string",
primaryKey: true
},
name : {
type : "string"
},
email : {
type : "string"
}
}
}



// Find
User.find({
select : {id : user.id}
}).exec((err,record)=> {
if(err) return console.log(err,"err");
console.log(record,"record");
})

// Update
User.update({
select : {id : user.id}
},{
name : "Foo"
}).exec((err,record)=> {
if(err) return console.log(err,"err");
console.log(record,"record");
})

// Destroy
User.destroy({
select : {id : user.id}
}).exec((err,record)=> {
if(err) return console.log(err,"err");
console.log(record,"record");
})

Espero que isso possa ajudar você.