我在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
我在做什么错?
我知道有关查询的问题很多,但我仍在将整个想法缠住。感谢您帮助新手。
我都发现了两个命令 -
-
由于某种原因,应在这样的单语引号中给出条件 -
db.testcollection.find('result.Reference':a3d245e343}
我以为我可以在其中使用双引号,但看起来我错了。
-
我在投影仪中使用逗号而不是结肠。正确的答案是 -
db.testcollection.find({},{" results.city":1})