我试图创建此文档的嵌套属性的蒙戈查询,在JavaScript蒙戈外壳那就是:如何在Pharo上使用MongoTalk查询嵌套属性?
db.users.find({"services.facebook.email": "[email protected]"})
我怎么能执行使用MongoTalk的查询查询?
我试图创建此文档的嵌套属性的蒙戈查询,在JavaScript蒙戈外壳那就是:如何在Pharo上使用MongoTalk查询嵌套属性?
db.users.find({"services.facebook.email": "[email protected]"})
我怎么能执行使用MongoTalk的查询查询?
在航程,你必须做这样的事情:
Users selectMany: [ :each | (each at: 'services.facebook.email') = '[email protected]' ]
由于这是MongoQueries,如果您正在使用直接MongoTalk(不含远航),你可以执行你的MongoCollection相同的查询。
您可以查询使用“常规”蒙戈查询(又名JSON /词典查询)或使用MongoQuery
使用Block
语法:
mongo := Mongo default.
db := mongo databaseNamed: 'test'.
users := db getCollection: 'users'.
user1 := { 'services' -> {
'facebook' -> { 'email' -> '[email protected]' } asDictionary
} asDictionary
} asDictionary.
users add: user1.
"Query using dictionary"
users select: {'services.facebook.email' -> '[email protected]'} asDictionary.
"Query using MongoQuery"
users select: [ :each | (each at: 'services.facebook.email') = '[email protected]' ].
您也可以简单地使用'用户选择:{'services.facebook.email' - >'[email protected]'}'。这可能与您最初的MongoShell语法最接近。 –
是的,我用这个建议是因为它是最简洁的。按照您的建议,这些配对命名为'asMongoQuery'或'asDictionary' –
这是伟大的@EstebanLM感谢您的快速答复! –