错误的错误嵌套查询



我在mongodb中在嵌套查询中遇到了一些麻烦。

我有一个带有以下结构的集合 -

{
    "_id" : Objectid(..),
    "result" : {
        "name" : nameValue,
        "reference" : base64Value,
        "city" : cityValue
    }
}

现在我要在Mongo Shell中进行两个查询 -

  • 搜索特定的参考值(因此查询平等)

我正在使用以下查询 -

db.TestCollection.find("result.reference" : a3d245e343 }

但是,当我知道记录中存在的记录

时,我什么都没有得到
  • 搜索和打印所有城市价值。

我想打印这样的东西 -

{ "city": "new york city" }
{ "city" : "brooklyn" }
... etc

为此,我使用此查询 -

db.TestCollection.find( {}, {"results.city", 1} )

为此,我没有得到我所希望的输出

{ "_id" : ObjectId("52e466bd562bdb7b1b320d1d") }
{ "_id" : ObjectId("52e466be562bdb7b1b320d1e") }
{ "_id" : ObjectId("52e466be562bdb7b1b320d1f") }
{ "_id" : ObjectId("52e466bf562bdb7b1b320d20") }
{ "_id" : ObjectId("52e466bf562bdb7b1b320d21") }
{ "_id" : ObjectId("52e466bf562bdb7b1b320d22") }
{ "_id" : ObjectId("52e466c0562bdb7b1b320d23") }
{ "_id" : ObjectId("52e466c0562bdb7b1b320d24") }
{ "_id" : ObjectId("52e466c1562bdb7b1b320d25") }
{ "_id" : ObjectId("52e466c1562bdb7b1b320d26") }
{ "_id" : ObjectId("52e466c2562bdb7b1b320d27") }
{ "_id" : ObjectId("52e466c2562bdb7b1b320d28") }
{ "_id" : ObjectId("52e466c2562bdb7b1b320d29") }
{ "_id" : ObjectId("52e466c3562bdb7b1b320d2a") }
{ "_id" : ObjectId("52e466c3562bdb7b1b320d2b") }
{ "_id" : ObjectId("52e466c4562bdb7b1b320d2c") }
{ "_id" : ObjectId("52e466c4562bdb7b1b320d2d") }
{ "_id" : ObjectId("52e466c4562bdb7b1b320d2e") }
{ "_id" : ObjectId("52e466c5562bdb7b1b320d2f") }
{ "_id" : ObjectId("52e466c5562bdb7b1b320d30") }
has more

我在做什么错?

我知道有关查询的问题很多,但我仍在将整个想法缠住。感谢您帮助新手。

我都发现了两个命令 -

  1. 由于某种原因,应在这样的单语引号中给出条件 -

    db.testcollection.find('result.Reference':a3d245e343}

    我以为我可以在其中使用双引号,但看起来我错了。

  2. 我在投影仪中使用逗号而不是结肠。正确的答案是 -

    db.testcollection.find({},{" results.city":1})

最新更新