如何使用a查询MongoDB字段名称。 (期间)?

时间:2016-01-07 20:46:44

标签: mongodb mongodb-query

我正在挖掘MongoDB oplog,我想查看符合以下条件的所有操作:

"o" : {
    "$set" : {
        "skus.0.stock" : 1
    }
}

有问题的操作会更新与此类似的对象:

{
    skus: [
        {
            stock: Number
        },
        {
            stock: Number
        },
    ]
}

上面的oplog操作是$set skus数组上对象的库存级别。

问题是当我执行.find({"o.$set.skus.0.stock": {$exists: true}})时我什么也得不回来。 mongo shell期待一个如下所示的对象:

"o" : {
    "$set" : {
        "skus" : {
            "0": {
               stock" : 1
            }
        }
    }
}

我看了一下this question,但最重要的答案基本上只是将句点替换为类似的unicode字符。在这种情况下,oplog已经在字段名称中插入了实际的句点。

括号表示法会在没有引号的情况下引发错误语法错误,并且不会返回任何带引号的内容(它只是不起作用。)

0 个答案:

没有答案