小编web*_*jay的帖子

MongoDB 更新替换文档

我正在尝试通过 PHP 更新 MongoDB 文档。我的问题是,当我更新时,文档数据被删除,因此除了我更新的数据之外的其他数据也消失了。

在我更新之前,文档是这样的:

{
    "_id": {
        "$oid": "4e178b45419866350f000001"
    },
    "Twitter": {
        "_id": {
            "$oid": "4e178b45419866350f000000"
        },
        "created": {
            "$date": "2011-07-08T22:57:09Z"
        },
        "userid": "5552362"
    },
    "created": {
        "$date": "2011-07-08T22:57:09Z"
    }
}
Run Code Online (Sandbox Code Playgroud)

我的更新方式如下:

    $r = $Profile->update(
        array('Twitter._id' => new MongoId($profile['_id'])),
        array(
            '$set' => array(
                'Twitter' => array(
                    'name' => $user['name'],
                    'username' => $user['screen_name'],
                    'url' => $user['url'],
                    'modified' => new MongoDate()
                )
            )
        ),
        array('safe' => true)
    );
    debug($r); 
Run Code Online (Sandbox Code Playgroud)

php cakephp mongodb

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

在JavaScript中删除不再使用的对象和变量是一种好习惯吗?

在我的代码中,我在函数中使用了一个对象和变量.在该函数中我不再使用我删除它的对象和变量:

delete myObject;
delete myVar;
Run Code Online (Sandbox Code Playgroud)

这是好习惯吗?
它能提速吗?

我的JavaScript是smart.joyent.com上的服务器端.

javascript

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

优化Neo4j Cypher查询

我正在做的是获取所有与用户配置文件*具有特定定向关系的配置文件*,如果这些配置文件具有备用配置文件*,则在用户备用配置文件*与其关联时获取这些配置文件.我也需要关系的方向.

我的问题是,大约10000个节点需要大约5秒钟来获取数据.我有节点和关系的自动索引.

这是我的节点相关的方式:

用户 - [:简介] - >配置文件A - [:相关] - >概貌< - [?:我] - > ProfileB2 < - [?:相关] -ProfileA2 < - [:资料] - 用户

我的查询如下所示:

START User=node({source}) 
MATCH User-[:profile]->ProfileA-[rel:related]->ProfileB 
WHERE User-->ProfileA-->ProfileB 
WITH ProfileA, rel, ProfileB 
MATCH ProfileB<-[?:me]->ProfileB2<-[relB?:related]-ProfileA2<-[:profile]-User 
WHERE relB IS NULL OR User-->ProfileA-->ProfileB<-->ProfileB2<--ProfileA2<--User
RETURN ProfileB, COLLECT(ProfileB2), rel, relB
LIMIT 25
Run Code Online (Sandbox Code Playgroud)

知道如何优化查询吗?


  • 个人资料:ProfileB
  • 用户个人资料:ProfileA
  • 备用配置文件:ProfileB2
  • 用户备用配置文件:ProfileA2

neo4j cypher

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

通过Node.js连接到远程Docker

我在我的一台服务器上设置并运行了Docker,可以像这样远程连接到它:

docker --tlsverify -H tcp://web2.webcom.dk:4243 images

我用这个这个得到它成立.

我想做的是能够通过Node.js连接到它并尝试使用dockerode,这对我来说似乎是最好的选择.

这是我的代码:

Docker = require 'dockerode'

docker = new Docker
  host: 'tcp://web2.webcom.dk'
  port: 4243
  tls: true
  tlscacert: '/Users/jacob/.docker/ca.pem'
  tlscert: '/Users/jacob/.docker/cert.pem'
  tlskey: '/Users/jacob/.docker/key.pem'
  tlsverify: true

container = docker.getContainer '826544226fdc'
container.start (err, data) ->
  return console.error err if err?
  console.log data
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为我收到此错误:

{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' }
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

UPDATE

这适用于本地:

Docker = require 'dockerode'

docker = new Docker
  host: '192.168.59.103'
  port: 2375
  socketPath: …
Run Code Online (Sandbox Code Playgroud)

node.js coffeescript docker

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

标签 统计

cakephp ×1

coffeescript ×1

cypher ×1

docker ×1

javascript ×1

mongodb ×1

neo4j ×1

node.js ×1

php ×1