Как я могу получить конкретный массив (или ключ массива)?
Как я могу получить конкретный массив (или ключ массива), которые содержат "unique6" в mongoDB.
Примечание: значение внутри массива уникально.
{
"_id" : "DETbQx7i9Sunu9w88",
"someKey" : {
"arr1" : ["unique1", "unique2", "unique3"],
"arr2" : ["unique4", "unique5", "unique6"],
"arr3" : ["unique7", "unique8", "unique9"]
}
}
1 ответ
Решение
С MongoDB вы можете использовать встроенные функции JavaScript для получения желаемых атрибутов BSON. По сути, вы можете перебирать документы в вашей коллекции, используя комбинацию find()
а также forEach()
методы, или если у вас есть конкретный документ, который вам нужно запросить, вы можете использовать findOne()
метод, который возвращает один документ. Ниже показано, как в оболочке Mongo получить ключ массива, который содержит элемент "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
});