所有你想要的是與$ne
對_id
的另一個條件。這可以通過多種方式來表示:
或者:
User.find().where({ "_id": { "$ne": currentId })
.or([
{email: new RegExp(req.param('searchTerm'), 'i')},
{displayName: new RegExp(req.param('searchTerm'), 'i')}
]).
.select('displayName email profileImageURL')
.limit(20)
.exec(function(err, users) {
});
或者:
User.find({ "_id": { "$ne": currentId })
.or([
{email: new RegExp(req.param('searchTerm'), 'i')},
{displayName: new RegExp(req.param('searchTerm'), 'i')}
])
.select('displayName email profileImageURL')
.limit(20)
.exec(function(err, users)
,甚至只是作爲一個本地數據結構。這是JavaScript的畢竟:
User.find(
{
"_id": { "$ne": currentId },
"$or": [
{ "email": new RegExp(req.param('searchTerm'), 'i')},
{ "displayName": new RegExp(req.param('searchTerm'), 'i')}
],
},
'displayName email profileImageURL')
.limit(20)
.exec(function(err, users) {
});
所以你並不需要「幫手」的方法,這也導致更長的和不夠靈活的代碼。數據結構很容易在JavaScript等動態語言中操作。