如何在mongoDB中获取包含“unique6”的特定数组(或数组的键)。
注意:数组内的值是唯一的。
{
"_id" : "DETbQx7i9Sunu9w88",
"someKey" : {
"arr1" : ["unique1", "unique2", "unique3"],
"arr2" : ["unique4", "unique5", "unique6"],
"arr3" : ["unique7", "unique8", "unique9"]
}
}
答案 0 :(得分:0)
使用MongoDB,您可以使用本机JavaScript函数来获取所需的BSON属性。基本上,您可以使用find()
和forEach()
方法的组合迭代集合中的文档,或者如果您有需要查询的特定文档,则可以使用findOne()
方法返回单个文档。以下演示如何在Mongo shell中使用前者获取包含元素"unique6"
的数组键:
db.collection.find().forEach(function (doc){
var arrayKey = "",
obj = doc["someKey"];
for (var key in obj) {
obj[key].forEach(function(e) {
if (e == "unique6") arrayKey = key
});
}
print(arrayKey); // <-- this variable has the array key
});