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")
}
此代码不起作用,我想按ID选择文档。我不知道在我的风帆项目中应该做些什么来解决这个问题。谢谢你的帮助。
答案 0 :(得分:2)
我看到的一些事情对你的代码很奇怪
1.应使用.exec()执行与风帆10相同的回调函数
2.我认为你不应该只搜索_id
而只搜索id
。我认为水线解析了这个下划线。
考虑到这一点,您的代码应该类似于
User.find({ id: { '!': user.id } }).exec(function (err, friends) {
if(err) return next(err);
res.view({
friends: friends
});
});
答案 1 :(得分:1)
您好,您可以通过select
尝试使用sails-mongo通过ID进行查找,更新或销毁:
//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");
})
希望这对你有所帮助。
答案 2 :(得分:0)
您可以尝试以下方法:
User.findOne({ _id : ObjectId(user.id.toString()) })
希望获得帮助。