首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb-在shell上更新文档之前缺少一些值

Mongodb-在shell上更新文档之前缺少一些值
EN

Stack Overflow用户
提问于 2016-03-09 18:09:44
回答 1查看 99关注 0票数 0

我正在使用java来操作mongodb。

当我查询时,当我在shell上更新文档时,find some value为missing.but。

代码语言:javascript
复制
var dataList = db.last.find({"date":"2016-03-09"});
    for(var i = 0;i < dataList.length();i++){
        var data = dataList[i];   //do nothing with it
        db.last.update({"_id":data._id},data);
    }

然后进行查询,结果是正常的。mongodb中的文档是这样的

代码语言:javascript
复制
{
      "_id" : ObjectId("56df0865d23b548768ae4256"),
      "uniq_key" : "last:HIS_AI:13:20:2016-3-9",
      "type" : "last",
      "date" : "2016-03-09",
      "channel_id" : "13",
      "no_ai" : "20",
      "zset" : [{
          "hour" : "0",
          "dataMin" : [["195177600", "7407.899902", "0", "195177900", "7407.899902", "0", "195178200", "7408.000000", "0", "195178500", "7408.000000", "0", "195178800", "7408.000000", "0", "195179100", "7408.100098", "0", "195179400", "7408.100098", "0", "195179700", "7408.100098", "0", "195180000", "7408.200195", "0", "195180300", "7408.200195", "0", "195180600", "7408.200195", "0", "195180900", "7408.200195", "0"]]
        }, {
          "hour" : "1",
          "dataMin" : [["195181200", "7408.299805", "0", "195181500", "7408.299805", "0", "195181800", "7408.299805", "0", "195182100", "7408.399902", "0", "195182400", "7408.399902", "0", "195182700", "7408.399902", "0", "195183000", "7408.399902", "0", "195183300", "7408.500000", "0", "195183600", "7408.500000", "0", "195183900", "7408.500000", "0", "195184200", "7408.600098", "0", "195184500", "7408.600098", "0"]]
        }, {
          "hour" : "2",
          "dataMin" : [["195184800", "7408.600098", "0", "195185100", "7408.600098", "0", "195185400", "7408.700195", "0", "195185700", "7408.700195", "0", "195186000", "7408.700195", "0", "195186300", "7408.799805", "0", "195186600", "7408.799805", "0", "195186900", "7408.799805", "0", "195187200", "7408.899902", "0", "195187500", "7408.899902", "0", "195187800", "7408.899902", "0", "195188100", "7408.899902", "0"]]
        }, {
          "hour" : "3",
          "dataMin" : [["195188400", "7409.000000", "0", "195188700", "7409.000000", "0", "195189000", "7409.000000", "0", "195189300", "7409.100098", "0", "195189600", "7409.100098", "0", "195189900", "7409.100098", "0", "195190200", "7409.100098", "0", "195190500", "7409.200195", "0", "195190800", "7409.200195", "0", "195191100", "7409.200195", "0", "195191400", "7409.299805", "0", "195191700", "7409.299805", "0"]]
        }]
    }

缺少的结果是

代码语言:javascript
复制
{
        "_id": {
            "$oid": "56df0865d23b548768ae4256"
        },
        "uniq_key": "last:HIS_AI:13:20:2016-3-9",
        "type": "last",
        "date": "2016-03-09",
        "channel_id": "13",
        "no_ai": "20",
        "zset": [
            {
                "hour": "0",
                "dataMin": [
                    [
                        "0"    //**bad value**
                    ]
                ]
            },
            {
                "hour": "1",
                "dataMin": [
                    [
                        "0"
                    ]
                ]
            },
            {
                "hour": "2",
                "dataMin": [
                    [
                        "0"
                    ]
                ]
            }
        ]
    }

java代码在这里

代码语言:javascript
复制
MongoClient mongoClient = new MongoClient("10.3.1.30");
    DB db = mongoClient.getDB("energy");

    DBObject queryObj = new BasicDBObject();
    queryObj.put("channel_id", "13");
    queryObj.put("no_ai", "20");
    queryObj.put("date", "2016-03-09");

    DBObject result = db.getCollection("last").findOne(queryObj );
    System.out.println(result);

请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2016-03-10 17:31:06

当您初始化DBObject时,然后使用DBObject.put()将值放入其中,这是正确的。

findOne()的调用将从您的集合中提取第一个文档。

您需要使用db.getCollection("last").update(queryObj)才能保存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35888547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档