Как вы работаете с массивами, которые содержат словари? Я пытаюсь собрать все поля post
, чтобы я мог искать их текст.mongoose query для массива словарей
Мои попытки продолжаются в никуда с использованием mongo
оболочки.
User.Blog().find({}).where('post').in(writing).exec(function (err, result) {
//do something with results
}); // doesn't work
схема (редактирование: фиксированное от комментариев @JAM)
var blogSchema = new mongoose.Schema({
group: String,
writing: [{
post: String,
name : Number
}]
});
var Blog = mongoose.model('Blog', blogSchema);
Обновление: добавление данных JSON и команды, чтобы поместить данные в MongoDB используя Монго оболочку:
{
group: "Design Writing",
writing: [{
post: "A very very very short post.",
name: 10
}, {
post: "An early morning post about everything.",
name: 11
}]
}
* Или здесь, как одна строка для вставки в db в коллекции с именем my_collection
: *
db.my_collection.insert({group: "Design Writing", writing: [{post: "A very very very short post.",name: 10}, {post: "An early morning post about everything.",name: 11}]})
Что происходит в «postObj»? Я попробовал «пост», но это не работает - ближе, но что-то не работает. Меня пугает цепочка. (Yeh, я набрал схему неправильно при составлении примера.) –
postObj example '{post:" heyho ", name: 1}' - как указывает ваша схема. Я думаю, что это работает. – JAM
Хммм. Все еще не работает. Находка() работает, но я не могу глубже проникнуть в структуру с помощью мангуста. Я буду пытаться, хотя я пробовал дюжину версий. Я могу вытащить то, что мне нужно, явно выписав в exec функции this: var just_the_post = result [0] ['writing'] [0] ['post'] '; D –