为什么我不能在MongoDB更新上运行解释?

时间:2013-08-01 18:25:27

标签: mongodb

我正在尝试解释mongoDB更新;但什么都没发生? Mongo不支持这个吗?

> db.movies.update({"actors.name": "Christian Bale"}, {$set: {"actors.$.name": "Christina Bale"}}, {$explain: 1});
>

我使用.explain()._addSpecial("$explain", 1")尝试了其他变体。这两个都会产生以下错误:

  

Thu Aug 1 11:26:46.368 JavaScript执行失败:TypeError:无法调用未定义的方法'explain'

2 个答案:

答案 0 :(得分:9)

我相信以下内容可让您调用有关查询的说明。

@Override
    public void processMessage(QBPrivateChat chat, QBChatMessage message) {

        if(message.isMarkable()){
            try {
                privateChat.readMessage(message.getId().toString());
            } catch (XMPPException e) {
                e.printStackTrace();
            } catch (SmackException.NotConnectedException e) {
                e.printStackTrace();
            }
        }

    }

希望这会有所帮助,如果您需要更多信息,请告诉我。

答案 1 :(得分:0)

为什么要在更新时调用说明? AFAIK,explain将向您展示您的查询将如何获取行,因此您可以执行以下操作:

db.movies.find(
    {$query:  {"actors.name": "Christian Bale"}},
    {$explain: 1}
);