小编Sum*_*eet的帖子

更新int数组在Mongo shell中转换为double数组

我有int数组使用mongo shell更新集合.当我更新它实际上它以双格式存储.

var  array =[1,2,3];     // int array as all elements are int 
                         // Update query where path is the collection field
 db.doc.update({},{$set : {“path”:array}},{ upsert: true });  
Run Code Online (Sandbox Code Playgroud)

实际上它存储了:

{
  "_id" : ObjectId("529ae0e70971d81eedf5cb3d"),
  "path" : [1.0, 2.0, 3.0]
}
Run Code Online (Sandbox Code Playgroud)

我是mongo的新手,必须在mongo shell中运行更新查询.如何避免自动双转换.

javascript mongodb mongo-shell

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

Mongodb - 更新JSON数组中的多个数组元素

我有一个收集文档喜欢.

{'_id':1,
             'name':'Root',
             'taskId':1,
             'parentId':"",
             'path':[1],
             'tasks':[  {"taskId":3,parentId:1,name:'A',status:'Created'},
                        {"taskId":4,parentId:1,name:'D',status:'Created'},
                        {"taskId":5,parentId:4,name:'B',status:'Created'},
                        {'type':'project' , 'proRef':2},
                        {"taskId":6,parentId:3,name:'E',status:'Started'},
                        {"taskId":7,parentId:6,name:'C',status:'Stopped'}]

            }
Run Code Online (Sandbox Code Playgroud)

现在我想将多个数组元素字段'status'更新为'Deleted',它位于JSON内部.让我们假设对于taskId 3,4,我需要将状态更新为Deleted.我已经尝试使用带有查询($)的$ in这个查询,但它更新的第一个元素只是$ in array.在下面的查询中,只有taskId和3才会更新而不是4.

db.projectPlan.update({"_id": 1,'tasks.taskId': {$in :[3,4]}} , {$set: {'tasks.$.status': 'Deleted'}}, {upsert: false, multi: true});
Run Code Online (Sandbox Code Playgroud)

如何在单个查询中更新多个元素.谢谢!

arrays json mongodb

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

使用 sigma.js 展开和折叠

目标

我正在尝试在sigma.js中实现展开和折叠。右键单击任何节点,它会添加新节点并连接其边缘,但它被放置在随机位置。

我想在可用空间中添加节点,它们不应与其他节点碰撞或重叠。它应该随着动画缓慢扩展,在自由空间区域中扩展,就像这个例子一样。有关的

代码

<!DOCTYPE html>
<html>
<head>
    <title> Airlines Graph Render </title>
    <script src="../build/sigma.min.js"></script>
    <script src="../src/renderers/canvas/sigma.canvas.edges.curvedArrow.js"></script>

    <script src="../plugins/sigma.layout.forceAtlas2/worker.js"></script>
    <script src="../plugins/sigma.layout.forceAtlas2/supervisor.js"></script>
    <script src="../plugins/sigma.renderers.edgeLabels/settings.js"></script>
    <script src="../plugins/sigma.renderers.edgeLabels/sigma.canvas.edges.labels.curve.js"></script>
    <script src="../plugins/sigma.renderers.edgeLabels/sigma.canvas.edges.labels.def.js"></script>
    <script src="../plugins/sigma.renderers.edgeLabels/sigma.canvas.edges.labels.curvedArrow.js"></script>
    <style>
        body,html{
            width: 100%;
            margin: 0px;
            padding: 0px;
            height: 100%
        }
        #graph-container {
          width:100%;
          height: 100%;
        }
  </style>
</head>
<body>

      <div id="graph-container"></div>

    <script >
        
        var graph = {
                "nodes": [
                    {
                        "city": "Dallas",
                        "area": 999,
                        "code": 214,
                        "country": "USA"
                    },
                    {
                        "city": "Austin",
                        "area": 1180,
                        "code": …
Run Code Online (Sandbox Code Playgroud)

javascript graph graph-visualization sigma.js

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

Mongodb查找查询数组以element开头

我有文件的集合,如:

{ "_id" : 1, "path" : [ 3, 1 ], "name" : "A" }
{ "_id" : 2, "path" : [ 3, 1, 1 ], "name" : "B" }
{ "_id" : 3, "path" : [ 3, 1, 1, 1 ], "name" : "C" }
{ "_id" : 4, "path" : [ 3, 1, 2 ], "name" : "D" }
{ "_id" : 5, "path" : [ 3, 1, 2, 1 ], "name" : "E" }
{ "_id" : …
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js

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

椭圆弧箭头边缘d3强制布局

我正在使用强制布局来创建有向图.它在画布上呈现.我的示例示例位于http://jsbin.com/vuyapibaqa/1/edit?html,output

现在我的灵感来自
https://bl.ocks.org/mattkohl/146d301c0fc20d89d85880df537de7b0#index.html

d3 svg中的资源很少,我试图在画布中使用类似的东西.

http://jsfiddle.net/zhanghuancs/a2QpA/

http://bl.ocks.org/mbostock/1153292 https://bl.ocks.org/ramtob/3658a11845a89c4742d62d32afce3160
http://bl.ocks.org/thomasdobber/9b78824119136778052f64a967c070e0 使用d3在两个节点之间绘制多条边.

想要用箭头添加椭圆弧连接边缘.如何在画布中实现这一点.

在此输入图像描述

我的代码:

<!DOCTYPE html>
<html>
<head>
        <title>Sample Graph Rendring Using Canvas</title>
        <script src="https://rawgit.com/gka/randomgraph.js/master/randomgraph.js"></script>
        <script src="https://d3js.org/d3.v4.min.js"></script>
</head>
<body>
    <script>
        var graph = {}//randomgraph.WattsStrogatz.beta(15, 4, 0.06);

    graph.nodes = [{"label":"x"} , {"label":"y"}];
    graph.edges = [{source:0,target:1},{source:0,target:1},
                   {source:1,target:0}]

        var canvas = null
        var width = window.innerWidth,
            height = window.innerHeight;
        canvas = d3.select("body").append("canvas").attr("width",width).attr("height",height);

        var context = canvas.node().getContext("2d");


        force = d3.forceSimulation()
                .force("link", d3.forceLink().id(function(d) { 
                     return d.index;
                })).force("charge", d3.forceManyBody())
                .force("center", d3.forceCenter(width / 2, height / 2)); …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery canvas d3.js

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

将列表[任务[列表[A]]]转换为任务[列表[A]]

如何在 Scala 中将List[Task[List[Header]]]类型转换为 Task[List[Header]]

我有一个方法返回 Task[List[Header]] 并多次调用 do 它变成 List[Task[List[Header]]]

functional-programming scala scala-cats monix

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

node.js和express:顺序执行流程一个接一个mongodb查询请求

我有一个在node.js和Express中运行的web服务器,它从mongodb中检索数据.在mongodb中,集合是动态创建的,新创建的集合的名称将存储在一个元数据集合"项目"中.我的要求是首先迭代到元数据集合以获取集合名称,然后进入每个集合内部以根据某些条件进行多个查询.因为我的集合元数据是动态的,所以我尝试使用for循环.但它提供了错误的数据.它没有执行后续行动.在完成循环执行之前,它返回值.如何仅使用节点核心模块在node.js中执行顺序执行(不是其他库,如async ..);

exports.projectCount = function (req, res) {
    var mongo = require("mongodb"),
        Server = mongo.Server,
        Db = mongo.Db;

    var server = new Server("localhost", 27017, {
        auto_reconnect: true
    });

    var db = new Db("test", server);
   // global JSON object to store manipulated data 
    var projectDetail = {
        projectCount: 0,
        projectPercent: 0
    };
    var totalProject = 0;
    db.open(function (err, collection) {
        //metadata collection 
        collection = db.collection("project");
        collection.find().toArray(function (err, result) {
            // Length of metadata  collection 
            projectDetail.projectCount = result.length;
            var count = 0; …
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js express

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

关于JSON数组的mongodb更新

我在Mongo中有这些数据:

{'_id':1,
             'name':'Root',
             'taskId':1,
             'parentId':"",
             'path':[1],
             'tasks':[  {"taskId":3,parentId:1,name:'A',type:'task'},
                        {"taskId":4,parentId:1,name:'D',type:'task'},
                        {"taskId":5,parentId:4,name:'B',type:'task'},
                        {'type':'project' , 'proRef':2},
                        {"taskId":6,parentId:3,name:'E',type:'task'},
                        {"taskId":7,parentId:6,name:'C',type:'task'}]

            }
Run Code Online (Sandbox Code Playgroud)

现在我想用新的Json数据更新taskId 6.

var jsonData = {"taskId":6,"name":'Sumeet','newField1':'Val1','newField2':'Val2'}
Run Code Online (Sandbox Code Playgroud)

如果字段可用,则查询应更新,否则将新密钥添加到现有.Output Like

{"taskId":6,parentId:3,name:'Sumeet',type:'task','newField1':'Val1','newField2':'Val2'}]
Run Code Online (Sandbox Code Playgroud)

我尝试了很少的查询,但它完全取代了json.

 db.projectPlan.update({_id:1,'tasks.taskId':6},{$set :{'tasks.$':jsonData }});
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!Sumeet

javascript mongodb nosql node.js

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

String trim()方法

在Java中,我在下面编写了string trim()方法的代码.

           if(" String ".trim() == "String")
               System.out.println("Equal");
           else
               System.out.println("Not Equal");
Run Code Online (Sandbox Code Playgroud)

它给出了Not Equal我理解的输出,因为" String ".trim()它返回了新的String对象引用.

但是当我修剪和比较没有空格时,它会提供输出Equals.

            if("String".trim() == "String")
               System.out.println("Equal");
           else
              System.out.println("Not Equal");
Run Code Online (Sandbox Code Playgroud)

如果String没有空格,那么trim() 返回什么方法?我知道equals()我可以使用但是在我的考试中我得到了这个问题.

java string trim

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