我想对此集合执行查询,以确定哪些文档具有与特定值匹配的任何键.这可能吗?
我有一组文件,如:
{
"things": {
"thing1": "red",
"thing2": "blue",
"thing3": "green"
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:为了简洁
如果我的users收藏中的数据看起来像:
{ name: '...',
email: '...',
...,
photos: {
123: { url: '...', title: '...', ... },
456: { url: '...', title: '...', ... },
...
}
}
Run Code Online (Sandbox Code Playgroud)
我想找到哪个用户拥有照片ID 127,然后我使用查询:
db.users.find( {'photos.127': {'$exists' => true} } );
Run Code Online (Sandbox Code Playgroud)
我试过了,但似乎不可能让MongoDB为这个查询使用索引.我试过的索引是:db.users.ensureIndex({photos:1});.当我使用explain()mongo时告诉我它使用的是BasicCursor(即没有使用索引).
是否可以创建mongo将用于此查询的索引?
我目前正在处理的数据库中有40多个集合.所有收藏品的主要关键之一是"帐户".我需要知道所有这样的集合,其中有一个名为"account"的字段.
是否有查询或js脚本打印所有这样的集合?
在Oracle中我使用:
SELECT * FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME LIKE 'account';
Run Code Online (Sandbox Code Playgroud)
任何输入都很有帮助.
提前致谢.
我想弄清楚如何匹配一个键并返回该键的所有值。是否可以将值作为通配符给出?我想在值上使用通配符返回该特定键的所有内容。
db.collection.find({"key" :"*"})
Run Code Online (Sandbox Code Playgroud)
此外,我希望这也能返回整个集合,该集合的键也与通配符值匹配。