小编Mir*_*age的帖子

如果MongoDB文档字段不存在,我该如何更新?

我收集foo了以下文件:

{site_id: 'xxx', title: {ru: 'a', en: 'b'}, content: {ru: 'a', en: 'b'}}
{site_id: 'xxx', title: {ru: 'c', de: 'd'}, content: {ru: 'c', de: 'd'}}
Run Code Online (Sandbox Code Playgroud)

我需要更新可能存在或不存在的多个字段:

db.foo.update(
    { site_id: 'xxx'},
    { $set: {'title.de': '', 'content.de': ''}},
    {multi: true}
)
Run Code Online (Sandbox Code Playgroud)

但我需要一些$set不会覆盖价值的东西.

mongodb

37
推荐指数
5
解决办法
4万
查看次数

如何将Web应用程序转换为桌面可执行文件?

我使用带有AJAX REST API的AngularJS/jQuery/Bootstrap构建HTML应用程序.
是否可以为Windows操作系统创建可执行文件/安装程序?

没有任何第三方软件,它应该看起来像本机应用程序,但HTML.
例如,Slack messenger有web/mac/windows版本,它们看起来相同.

有任何想法吗?

// UPD

我可能需要一个包装器(webview),但我需要EcmaScript5/CSS3的所有功能.

html desktop-application web-applications converter

23
推荐指数
3
解决办法
4万
查看次数

如何改造这个阵列?

这是数据

$array = array(
    'random' => 1,
    'pewpew' => 2,
    'temp' => 5,
    'xoxo' => 3,
    'qweqweqe' => 4,
);

$fields = array('random', 'xoxo', 'temp');
Run Code Online (Sandbox Code Playgroud)

我需要得到结果:

$result = array(
    'random' => 1,
    'xoxo' => 3,
    'temp' => 5,
);
Run Code Online (Sandbox Code Playgroud)

我的意思是来自$ fields的密钥存在/订单适用于$ array.

问题是:我是否可以仅使用array_函数执行此转换?(我不想使用迭代)如果是:你可以链接我需要的功能吗?

(对不起拼写错误)

UPD.

PHP 5.2

php arrays

9
推荐指数
2
解决办法
736
查看次数

Restangular crossdomain request. What I do wrong?

I have domain sub.example.com with configured restangular:

RestangularProvider.setDefaultHeaders({
    'Content-Type': 'application/json',
    'X-Requested-With': 'XMLHttpRequest'
});
RestangularProvider.setDefaultHttpFields({
    'withCredentials': true
});
Run Code Online (Sandbox Code Playgroud)

Then I'm building other factory via:

return Restangular.withConfig(function(RestangularProvider) {
    RestangularProvider.setBaseUrl('http://api.example.com');
});
Run Code Online (Sandbox Code Playgroud)

And, obviously, getting error No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://sub.example.com' is therefore not allowed access.. How should I configure server/client to get working crossdomain requests?

// upd

I'm using Yii on backend and sending next header
header('Access-Control-Allow-Origin: *', true);

cross-domain cross-domain-policy cors angularjs restangular

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

Rails 4在Rails.cache.fetch中跳过缓存

我的代码:

def my_method(path)
    Rails.cache.fetch(path, expires_in: 10.minutes, race_condition_ttl: 10) do
        # Calls Net::HTTP.get_response URI.parse path
        response = My::api.get path

        if response.status == 200
            JSON.parse response.body
        else
            nil # Here I need to prevent cache
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

返回时我不会缓存nil,但确实如此..在这种情况下如何防止缓存?

caching ruby-on-rails

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

如何对这个lua表进行排序?

我有下一个结构

self.modules = {
    ["Announcements"] = {
        priority = 0,
        -- Tons of other attributes
    },
    ["Healthbar"] = {
        priority = 40,
        -- Tons of other attributes
    },
    ["Powerbar"] = {
        priority = 35,
        -- Tons of other attributes
    },
}
Run Code Online (Sandbox Code Playgroud)

我需要通过priorty DESC对此表进行排序,其他值无关紧要.例如Healthbar,然后是Powerbar,然后去其他所有人.

//编辑

必须保留密钥.

//编辑#2

找到了解决方案,谢谢大家.

local function pairsByPriority(t)
    local registry = {}

    for k, v in pairs(t) do
        tinsert(registry, {k, v.priority})
    end

    tsort(registry, function(a, b) return a[2] > b[2] end)

    local i = 0

    local iter = function() …
Run Code Online (Sandbox Code Playgroud)

sorting lua lua-table

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

如何让InnoDB表在服务器重启时不重置自动增量?

我在我的开发机器上运行MySQL 5.5.37.我用innodb表.面临下一个问题 - 服务器重启后自动增量重置.

找到autoinc_lock_mode,设置为0,但没有帮助.

SHOW VARIABLES 命令显示autoinc_lock_mode的值0.

我所做的:

select max(id) from tablex; // 11, autoincrement is 12
insert into tablex values ('foo');
select max(id) from tablex; // 12, autoincrement is 13
delete from tablex where id > 11; // autoincrement is 13
Run Code Online (Sandbox Code Playgroud)

然后我重新启动服务器......和....(鼓滚)

show create table tablex; // autoincrement 12 instead of 13
Run Code Online (Sandbox Code Playgroud)

我做错了什么?:(

// UPD

我必须使用MyISAM表.谢谢大家的回复/评论.

mysql innodb auto-increment

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

GROUP_CONCAT返回多条记录

我有很多表并执行大查询(大约5-7 LEFT JOIN).看起来像这样

SELECT *, t.id
GROUP_CONCAT(field SEPARATOR '|') AS fields,
GROUP_CONCAT(other SEPARATOR '|') AS others
FROM table t
LEFT JOIN tablefields tf ON t.id = tf.user_id
LEFT JOIN tableothers to ON t.id = to.user_id
GROUP BY t.id
Run Code Online (Sandbox Code Playgroud)

这是问题所在.所有字段都很好,但是两个就像'value | value | value | value'(15-17次),即使连接表中只有一行.

我做错了什么?

PS

我不能使用DISTINCT,因为一个字段是section_id而其他字段是note.注意可能类似,但section_id是唯一的.

PPS

https://gist.github.com/3098105

查看查询结果的一部分.

mysql> SELECT * FROM tablename;
+----+---------+------------+-----------+
| id | user_id | section_id | note_data |
+----+---------+------------+-----------+
|  1 |    1331 | UserVideo  | test      |
|  2 …
Run Code Online (Sandbox Code Playgroud)

mysql group-concat

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

在数据库中插入类似的行

我有一个下一个结构的表:

+---------+----------+-------+
| user_id | group_id | onoff |
+---------+----------+-------+
|       1 |        3 |     1 |
+---------+----------+-------+

这里有很多用户和很多小组.目前,麦斯集团是18.如何可以插入group_id=19使用onoff=1表格中的所有用户?(我的意思是在一个查询中插入)

mysql

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

PHP header()不会重定向状态代码

我有一个代码

<?php
header('Location: http://mydomain/404', true, 404);
exit;
?>
Run Code Online (Sandbox Code Playgroud)

什么都不做.输出带有白色屏幕,我可以观看404响应状态,但没有重定向.Ubuntu 12.04/PHP 5.3

使用Debian Squeeze/PHP 5.3在服务器上出现同样的问题

我做错了什么?

更新.

它是获取状态和路径的功能的一部分.我需要重定向到具有指定状态代码的指定页面.不直接显示404页面.

php redirect header

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