Sails @ beta,mongodb,windows 7 32bit,
我试图通过应用程序创建一个新用户后收到上述错误.当我从config/policies.js删除策略isPawn一切正常.我不明白这个政策有什么问题.在我看来,我错误地访问mongodb id属性.
isPawn.js https://github.com/mrcn/C_Express/blob/master/api/policies/isPawn.js
module.exports = function(req, res, next) {
  var sessionUserMatchesId = req.session.User.id === req.param('id');
  var isAdmin = req.session.User.admin;
  // The requested id does not match the user's id,
  // and this is not an admin
  if (!(sessionUserMatchesId || isAdmin)) {
    var noRightsError =
    [{
      name: 'noRights',
      message: 'You must be an admin.'
    }];
    req.session.flash = {
      err: noRightsError
    };
    res.redirect('/session/new');
    return;
  }
  next();
};
用户模型 - user.js https://github.com/mrcn/C_Express/blob/master/api/models/User.js
module.exports = {
  schema: true, …为了减轻MongoDB服务器的负载,我想从Redis中的Waterline缓存一些对象.为此,我必须将对象序列化为JSON.
我的问题是,我如何构建我的JSON回到Waterline模型的实例,具有数据类型处理,成员函数等,使这对消费代码透明?
每当我运行本机MongoDB查询时,我也想要这个,给我带有本地ObjectID的对象,不匹配的日期类型等.
User.findOne(id, function (err, user) {
   // to string and back again, could be stored in cache in the meantime
   var object = JSON.parse(JSON.stringify(user));
   var user = new User(object); //doesn't work
   var user = User.toObject(object); // doesn't work
}
我刚刚创建了一个MongoDB Atlas帐户.
但我无法通过我的应用程序进行连接.
但似乎sails-mongo只是不使用该数据库,这需要一个非常新的mongo版本
有人使用MDB Atlas && sailsjs吗?(我想重构我的应用程序,但它开始是huuge,似乎不可能使用"mongodb"适配器)
版本: - 节点:6.3.1 - npm:3.10.6 - mongo(shell):3.4.2 - sails-mongo npm模块:sails-mongo@0.12.2
使用Sails.js版本0.10.x,假设我有一个模型Dog,填充如下(yaml为方便起见,以格式写出,但在我的情况下,它实际上是在mongo数据库中.)
dogs:
-  breed: "wolf"
   name: "Fido"
-  breed: "wolf"
   name: "Roger"
-  breed: "dingo"
   name: "Nipper"
-  breed: "dingo"
   name: "Ernie"
-  breed: "corgi"
   name: "Bernadi"
-  breed: "corgi"
   name: "Queenie"
-  breed: "poodle"
   name: "Christopher"
-  breed: "poodle"
   name: "Tony"
etc
所以现在我想创建一个可用品种的列表.
Dog.find().exec(err, dogs) {
  breeds = [];
  dogs.each(function(dog)) {
    if (breeds.indexOf(dog.breed) === -1) breeds.push(dog.breed);
  }
  ...
}
是否有更简单的方法来执行此操作,数据库上的命中次数更少?就像是
Dog.find().distinct('breed').exec(function(err, breeds){
  ...
});
我发现这个封闭的水线问题似乎表明我可以使用一种.distinct方法,但我尝试了它并且没有骰子. …
我想删除集合具有的所有成员,但是我不想将每个成员都传递ID给.member()方法。
水线文件说明了删除特定成员的方法,例如:
await User.removeFromCollection(3, 'pets')
.members([99,98]);
我想做某事:
await User.removeFromCollection(3, 'pets')
.members(['*']);
我正在使用带有sails-mongo适配器的mongodb处理sails js,我的问题是我无法使用sails-mongo获取两个日期之间的结果。
那么有没有检索这些数据的解决方案,实际上我想获得每天的条目总数(过去 15 天)。
因此,如果您知道任何事情或解决此问题的任何替代方法,请分享。
--谢谢-ND
我有这样的收藏条目
[
 {
    形状:[{id:1,status:true},{id:2,status:false}]
 },
 {
    形状:[{id:1,status:true}]
 }
]
我想获取与 array 完全匹配的数据,意味着包含所有元素。的数组。
前任。其中 shape.id = [1,2] / [ {id: [1,2] } ] (任何一个都喜欢)
那么它应该只返回
[
 {
    形状:[{id:1,status:true},{id:2,status:false}]
 }
]
所以如果有任何本地 mongodb 查询,请帮助我。
谢谢
--ND
我使用Sails.js和mongoDb(sails-mongo)编写了一个应用程序.
首先,我决定将所有内容写入单个文档...并且数据库在5GB数据上放慢速度."慢速"意味着在30-50秒内执行基本查找查询.
比我在多个集合中重写所有并添加索引..我的模型示例:
Markets.js
  module.exports = {
      attributes: {
        name: {
          type: 'string',
          index: true
        },
        pairs: {
         collection: 'Exchanges',
         via: 'source',
        }
      }
    };
和Exchanges.js
module.exports = {
  attributes: {
    s1: {
      type: "string"
    },
    source:{
      model: "Maklers",
      index: true
    },
    s2: {
      type: "string"
    },
    p: {
      type: 'float'
    },
    v1: {
      type: 'float'
    },
    v2: {
      type: 'float'
    },
    vb: {
      type: 'float'
    }
  }
};
和慢查询的例子
Markets.findOne({
          name: info,
          sort: 'createdAt DESC',
          limit: 1,
          createdAt: { …sails-mongo ×8
sails.js ×7
mongodb ×5
node.js ×3
waterline ×3
javascript ×2
atlas ×1
collections ×1
distinct ×1
mongoose ×1