【问题标题】:Restangular getList() using wildcard or a not operatorRestangular getList() 使用通配符或非运算符
【发布时间】:2015-07-24 14:22:48
【问题描述】:

我正在尝试使用带有 MongoDb 的 Restangular 查询特定数据。 我的控制器上有:

$scope.movies = Movie.getList({name: "Graceland"}).$object;

一旦我这样做了,我就可以检索数据。但是,我想使用更多资源,例如通配符或非运算符。像这样的:

$scope.movies = Movie.getList({name: !"Graceland"}).$object;

$scope.movies = Movie.getList({name: "Graceland*"}).$object;

然后,我将检索所有以“Graceland”开头的数据或所有与“Graceland”不同的数据。请问有谁知道如何实现它?非常感谢。

【问题讨论】:

  • stackoverflow 中也有很多相关问题已经回答。
  • 我不同意。我进行了研究,但找不到适合我的案例的答案。
  • stackoverflow.com/q/28447838/783219 试试$scope.movies = Movie.getList({filter:{where:{name:{like: 'Graceland*'}}}}).$object;。如果这可行,则进行一些调试(或反复试验)可以发现否定版本({filter:{where:{name:{ne: 'Graceland'}}}} 可能)。
  • 它可能不适用于 MongoDB 语法。当它有 db.name.find().

标签: javascript angularjs mongodb restangular


【解决方案1】:

首先:

  • 我从未使用过 mongobd;
  • 通常会将此作为评论,但由于它很长,我将使用答案来更好地格式化它;

对不起。


我建议你看看:

在 mongodb 手册中,您还可以找到更多非常有用的参考资料。


代替

$scope.movies = Movie.getList({name: !"Graceland"}).$object;

试试

$scope.movies = Movie.getList({name: { $ne: "Graceland" }}).$object;

而不是

$scope.movies = Movie.getList({name: "Graceland*"}).$object;

试试

$scope.movies = Movie.getList({name: /Graceland.*/}).$object;
// or
$scope.movies = Movie.getList({name: { $regex: 'Graceland.*' }}).$object;

【讨论】:

  • 感谢您的帮助,但似乎 Restangular 不支持 MongoDB 上使用的这些语法。也许,Restangular 有另一个。
  • 对不起。没注意到那个标签。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-30
  • 1970-01-01
  • 2017-02-10
  • 2013-02-08
  • 1970-01-01
相关资源
最近更新 更多