风帆js和mongodb不同

时间:2014-06-13 08:30:19

标签: node.js mongodb sails.js sails-mongo

Model.distinct("Age").done(function(err, ward) {
  if(err)
    return next(err);
  if(!ward)
    return next();
  res.json(ward);
});

执行此代码后,会出现以下错误:

TypeError: Object [object Object] has no method 'distinct'

但是在robomongo中有着截然不同的作品。我该如何纠正错误?

2 个答案:

答案 0 :(得分:3)

目前,Walterline(帆的ORM)不支持distinct() - 函数。

但您可以使用native() - 函数直接访问本机mongo驱动程序:

Modelname.native(function(err,coll){
  coll.distinct("Age", function(err,result){
     res.json(result);
  });
});

请参阅:https://sailsjs.com/documentation/reference/Models/Model-Methods/native.html

答案 1 :(得分:0)

您可能需要的是SailsJS ORM(Waterlin)能够返回本机MongoDB集合的能力:http://beta.sailsjs.org/#/documentation/reference/Models/Model-Methods/native.html

一旦获得它,您将能够调用本机MongoDB查询。

根据设计,Waterline意味着与几个数据库一起使用,同时保持相同的代码。目前没有“不明确”的特征。