dc-*_*oxn 0 regex mongoose mongodb node.js objectid
请问如何使用模型ID与给定ID不匹配的mongoose从MongoDB中检索记录.模型设置正确.我不是Node.js,mongoDB,Mongoose的新手.
我尝试使用$ ne:
var ID = ....
User.find({id: {$ne: ID}},
function(error, users) {
console.log(users);
callback(error, count);
});
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用RegExp:
var regex = new RegExp('^((?!' + ID + ').)*$', "i");
User.find({id: regex},
function(error, users) {
console.log(users);
callback(error, users);
});
Run Code Online (Sandbox Code Playgroud)
小智 5
正如JohnnyHK和Aaron Dufour评论的那样,你需要使用_id而不是id.
此外,当您查询时,Mongo期望一个Object而不是String _id.
您可以要求本机mongodb驱动程序ObjectID并在您的代码中使用它,如下所示:
var ObjectID = require('mongodb').ObjectID;
_id = new ObjectID('stringId');
User.find({'_id': {$ne: _id}},
function(error, users) {
console.log(users);
callback(error, count);
});
Run Code Online (Sandbox Code Playgroud)