小编Mat*_*att的帖子

couchdb搜索或过滤关键数组

我在我的视图功能中有这个:

emit([doc.address.country,doc.address.state, doc.address.city], doc);
Run Code Online (Sandbox Code Playgroud)

当我查询搜索时,我需要填充数组的所有3个元素,例如:

?key=["US","NY","New York"]
Run Code Online (Sandbox Code Playgroud)

这将产生我的记录,但举例来说,我只想返回美国的所有内容,例如:

?key=["US"]   
Run Code Online (Sandbox Code Playgroud)

或者在美国和州......

?key=["US","NY"] 
Run Code Online (Sandbox Code Playgroud)

或者...让我们说也许我只想要来自纽约的所有记录...(我知道以下不起作用)

?key=["","NY"]
Run Code Online (Sandbox Code Playgroud)

如果你想将数组中的一个元素留空,我真的不知道如何搜索?

arrays couchdb key view arraylist

24
推荐指数
1
解决办法
1万
查看次数

在CouchDB中使用map reduce来输出更少的行

假设您有两种文档类型,客户订单.一个客户文档包含如姓名,地址等和基本信息的订单包含所有的订单信息每次客户订单的东西.存储文档时,type = order或type = customer.

如果我在一组10个客户和30个订单上执行地图功能,它将输出40行.有些行是客户,有些是订单.

问题是,如何编写reduce,以便将订单信息"填充"在具有客户信息的行内?因此它将返回10行(10个客户),但每个客户的所有相关订单.

基本上我不想在输出上单独记录,我想将它们组合在一起(订单分成一个客户行)我觉得减少是这样的吗?

database reduce couchdb join map

14
推荐指数
1
解决办法
2859
查看次数

emberjs一次获取所有表单字段/值

在ember.js中创建新的表单字段时,似乎有一个多步骤的过程.例如,我创建表单字段:

{{input value=email type="email" placeholder="Email" required="required"}}
{{input value=password type="password" placeholder="Password" required="required"}}
Run Code Online (Sandbox Code Playgroud)

然后在我的控制器中我有这个:

App.AccountController = Ember.ObjectController.extend({
    email: null,
    password: null,
    actions: {
      login: function() {
        var data = this.getProperties("email", "password");

            console.log(data);
      }
    }
});
Run Code Online (Sandbox Code Playgroud)

如您所见,电子邮件和密码在顶部定义为null,然后在data var中再次定义为在用户填写字段时获取"值".

有没有办法解决这个问题,我可以简单地说...在表单字段中获取所有值,赋值为null,然后在一行中获取所有表单字段值?类似可能在jQuery中序列化表单?

javascript forms ember.js

9
推荐指数
1
解决办法
1586
查看次数

emberjs为一条路线使用多个路径/网址

在恩伯我可以用这个:

App.Router.map(function() {
    this.route('accomodations');
});
Run Code Online (Sandbox Code Playgroud)

所以,如果进入/住宿,它将加载该视图.

我还可以添加:

App.Router.map(function() {
    this.route('accomodations', { path: '/travel' });
});
Run Code Online (Sandbox Code Playgroud)

所以,如果进入/旅行,它将进入相同的视图.

我想能够/住宿和/旅行去同一个视图?这可能吗?

我知道这个:

App.Router.map(function() {
    this.route('accomodations');
    this.route('accomodations', { path: '/travel' });
});
Run Code Online (Sandbox Code Playgroud)

会做我要求的,但如果他们去住宿,它应该显示在网址中,它总是显示旅行.我甚至不确定最后一段代码是否是最佳实践.

javascript url routes views ember.js

8
推荐指数
2
解决办法
3867
查看次数

"合并"视图排序到CouchDB中的有用输出

在CouchDB中执行"连接"时,可以使用视图排序将记录组合​​在一起.例如,有两种文档类型的客户订单.这样您就可以返回客户,然后是该客户的所有订单,然后是下一个客户和订单.

问题是,如何合并行,这样如果您有10个客户和40个订单,那么您的输出仍然是10行而不是50行.您实际上是在客户行中添加了更多信息.

我相信用一个_list或一个reduce会解决这个问题.问题是如何做到这一点?

reduce couchdb mapreduce

6
推荐指数
2
解决办法
2843
查看次数

使用CouchDB复合键,查找多条记录

我知道你可以传递一个键或一个范围来返回CouchDB中的记录,但我想做这样的事情.查找X值的X记录.

因此,例如,在常规的SQL,可以说,我想与那些ID返回记录5,7,29,102.我会做这样的事情:

SELECT * FROM sometable WHERE id = 5 OR id = 7 or id = 29 or id = 102
Run Code Online (Sandbox Code Playgroud)

是否可以在CouchDB中执行此操作,我将在键数组中找到所有要查找的值,然后CouchDB搜索"key parameter"中可能存在的所有记录?

database search couchdb composite-key nosql

5
推荐指数
1
解决办法
1914
查看次数

couchdb map /减少按日期过滤的多个键

我有一个视图设置与地图减少.现在这段代码很棒:

function(doc) {
    if (doc.type == 'test'){
        if(doc.trash != 1){
                for (var id in doc.items) { 
                emit([id,doc.items[id].name], 1);
            }
        }
    }
}

function(keys,prices){
    return (keys, sum(prices));
}
Run Code Online (Sandbox Code Playgroud)

我得到一个返回,当使用group参数时,它会很好地压缩所有内容.

我的问题/问题,我想添加第三个密钥......日期,所以我只能减少某些日期的记录.例如:

function(doc) {
    if (doc.type == 'test'){
        if(doc.trash != 1){
                for (var id in doc.items) { 
                emit([date,id,doc.items[id].name], 1);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,因为日期是在数组的开头,按日期,id等减少组我知道我使用group_level并说从数组或前2个键中取第一个键,但这没有帮助或者因为afaik,group_level在数组中从左到右.我可以把日期放在emit数组的末尾,但这也无济于事,因为我需要在我的startkey和endkey的开头有值才能搜索.

以下是数据输出的示例:

{"key":["2012-03-13","356752b8a5f6871f3","Apple"],"value":1},
{"key":["2012-03-20","123752b8a76986857","Pear"],"value":1},
{"key":["2012-04-12","3013531de05871194","Grapefruit"],"value":1},
{"key":["2012-04-12","356752b8a5f6871f3","Apple"],"value":1},
Run Code Online (Sandbox Code Playgroud)

我希望将APPLE添加到一行,这里它首先按日期添加苹果.如果我删除DATE作为数组中的第一个键,我能够成功地添加所有苹果,但是我无法按日期范围搜索.

有关如何实现这一目标的任何想法?

arrays couchdb mapreduce date

4
推荐指数
1
解决办法
2156
查看次数

使用谷歌放置api与jQuery自动完成

我正在使用google places和jquery来实现一旦用户开始输入输入字段的目标,它会调用google地点并在下拉列表中输入结果(通过jquery ui autocomplete)

我的问题是,在我的自动完成功能中

source: function( request, response ) {
initialize()
}
Run Code Online (Sandbox Code Playgroud)

在那里,我试图调用这个函数

function initialize() {
service.search(request, callback);
}
Run Code Online (Sandbox Code Playgroud)

哪个工作正常...但问题是...初始化调用函数callback()...所以我不知道如何监听回调何时完成.

那么,例如,我将在这里做什么:

source: function( request, response ) {
// need code here to know when initialize and callback are done and are sending me the list of results from google ?
}
Run Code Online (Sandbox Code Playgroud)

在我使用结果中的$ .map生成下拉列表之前,我只是不确定如何等待Google地方完成.

api jquery-ui jquery-autocomplete

2
推荐指数
1
解决办法
5422
查看次数

Ember Store:排序,过滤,查找记录

我在索引路径中将记录加载到我的商店:

model: function(){
    return Ember.RSVP.hash({
        cars: this.store.query('car',{}).then(function(data){

        })
    });
}
Run Code Online (Sandbox Code Playgroud)

然后我去我的汽车路线peekAll(没有网络请求)并获得所有的汽车记录:

model: function() {
    return Ember.RSVP.hash({
        cars: this.store.peekAll('car').sortBy('name')
    });
}
Run Code Online (Sandbox Code Playgroud)

您会注意到我可以使用'sortBy'根据本地存储数据库中的字段对记录进行排序.

我不明白的是如何从商店过滤或查找记录?例如,如果我想执行以下操作该怎么办:

  • 按名称对所有车辆记录进行排序,然后过滤/查找车辆,使其仅返回1998年或之后购买的车辆
  • 过滤记录,所以我只显示'Jaguars'的汽车
  • 即使商店有超过10条记录,也只返回最多10条记录.

我已经查看了findByfilterBy,但是文档似乎有点缺乏有关如何使用示例实现的细节.

findby ember.js ember-data

2
推荐指数
1
解决办法
2051
查看次数

特定字段的 firebase 读/写规则

如果我有一个包含以下字段的数据库:

name
email
phone
position
pay
Run Code Online (Sandbox Code Playgroud)

有大量帖子展示了如何允许用户访问他们的数据,或允许管理员访问其他人的数据,包括他们自己的数据。

问题是,您如何限制 firebase 安全规则中的数据,以允许“员工”仅写入姓名、电子邮件和电话,而管理员可以写入所有字段,包括职位和薪酬。

例如,如果我是一名员工并且我知道 firebase,有什么可以阻止我为“支付”注入新的金额以便我可以更改金额?即使认为该字段可能不会显示,我也会对我的整个记录​​进行写访问。我想限制对某些字段的写访问。这可能吗?

我的猜测是列出每个字段,例如:

{
"name": ".write...",
"email: ".write...", etc etc
}
Run Code Online (Sandbox Code Playgroud)

或使用 .validate,但我不确定?

firebase firebase-security firebase-realtime-database

1
推荐指数
1
解决办法
2736
查看次数