我是MongoDB和NodeJS开发的新手。我已经阅读了所有我发现的东西,可能是我错了。 请帮帮我!
我有这个数据库 - 名称:商店,文件:类别,产品
这是db.collection(' categories');
{
"_id" : { "$oid" : "5172d1daffdd81f3234d5f88" },
"categories" : [ {
"categories" : [ {
"id" : "mens-clothing-suits",
"image" : "categories/mens-clothing-suits.jpg",
"name" : "Suits",
"page_description" : "Shop Men's suits for business or pleasure. Enjoy from a variety of different styles and cuts.",
"page_title" : "Mens Suits for Business and Casual",
"parent_category_id" : "mens-clothing",
"c_showInMenu" : true
},
{
"id" : "mens-clothing-jackets",
"image" : "categories/mens-clothing-sportscoats.png",
"name" : "Jackets & Coats",
"page_description" : "Shop Men's Jackets, Coats & Outerwear. Classic outdoor-tested garments with traditional styling details that provide comfort, insulation and ease of movement, whatever the weather.",
"page_title" : "Men's Jackets Including Jackets & Blazzers",
"parent_category_id" : "mens-clothing",
"c_showInMenu" : true
},
{
"id" : "mens-clothing-dress-shirts",
"image" : "categories/mens-clothing-dress-shirts.jpg",
"name" : "Dress Shirts",
"page_description" : "Shop Men's dress shirts in a variety of colors and styles including striped, button down, non-iron & more", "page_title" : "Men's Dress Shirts including Striped, Button Down, Non-Iron & More",
"parent_category_id" : "mens-clothing",
"c_showInMenu" : true
},
{
"id" : "mens-clothing-shorts",
"image" : "categories/mens-clothing-shorts.png",
"name" : "Shorts", "page_description" : "Shop Men's spring shorts in cotton. Variety of different fits.",
"page_title" : "Men's Spring Shorts",
"parent_category_id" : "mens-clothing",
"c_showInMenu" : true
},
{
"id" : "mens-clothing-pants",
"image" : "categories/mens-clothing-pants.png",
"name" : "Pants",
"page_description" : "Shop Men's Trousers. Practical, easy-to-wear styles wherever you're headed. Check out famous rugged, long-lasting trousers, jeans, cargo pants and more.",
"page_title" : "Men's Pants Including Khakis, Cargos, Trousers, Jeans & More",
"parent_category_id" : "mens-clothing",
"c_showInMenu" : true
} ],
"id" : "mens-clothing",
"image" : "categories/mens-clothing-accessories.jpg",
"name" : "Clothing",
"page_description" : "Shop Men's Clothing. Relaxed, timeless classics you can rely on; from denim to corduroys and sweaters to shirts. Huge range of contemporary colours and eco-aware designs: great casualwear.",
"page_title" : "Mens Clothing Including Suits, Tops, Bottoms & More",
"parent_category_id" : "mens",
"c_showInMenu" : true
},
{
"categories" : [ {
"id" : "mens-accessories-ties",
"image" : "categories/mens-accessories-ties.png",
"name" : "Ties", "page_description" : "Shop Mens's Ties for all occasions including business or casual.",
"page_title" : "Men's Casual and Business Ties",
"parent_category_id" : "mens-accessories",
"c_showInMenu" : true
},
{
"id" : "mens-accessories-gloves",
"name" : "Gloves",
"page_description" : "Shop Men'sGloves. Versatile, commuter, boot, oxford, deer and resolve gloves. All with famous long-lasting quality.",
"page_title" : "Men's Gloves",
"parent_category_id" : "mens-accessories",
"c_showInMenu" : true
},
{
"id" : "mens-accessories-luggage",
"image" : "categories/mens-accessories-luggage.jpg",
"name" : "Luggage",
"page_description" : "Shop Men's Wheeled Luggage. Versatile, rugged suitcases, baggage, holdalls and shoulder bags. All with famous long-lasting quality.",
"page_title" : "Men's Wheeled Luggage",
"parent_category_id" : "mens-accessories",
"c_showInMenu" : true
} ],
"id" : "mens-accessories",
"name" : "Accessories",
"page_description" : "Shop mens accessories including belts, wallets. gloves, hats, watches, luggage & more.",
"page_title" : "Men's Accessories Belts, Wallets. Gloves, Hats, Watches, Luggage & More",
"parent_category_id" : "mens",
"c_showInMenu" : true
} ],
"id" : "mens",
"name" : "Mens",
"page_description" : "Men's range. Hard-wearing boots, jackets and clothing for unbeatable comfort day in, day out. Practical, easy-to-wear styles wherever you're headed.",
"page_title" : "Men's Footwear, Outerwear, Clothing & Accessories",
"parent_category_id" : "root",
"c_showInMenu" : true
}

对于NodeJS,我有 - >
exports.index = function(req, res) {
var _ = require("underscore");
// var parseSchema = require('mongodb-schema');
var mdbClient = require('mongodb').MongoClient;
mdbClient.connect("mongodb://localhost:27017/shop", function(err, db) {
var collection = db.collection('categories');
collection.find().toArray(function(err, items) {
res.render("index", {
// // Underscore.js lib
_ : _,
// // Template data
title : "Hello World!",
items : items
});
db.close();
});
});
console.dir("Called findOne!");
};

我需要设置变量:
var categories = //所有类别例如:男士,女士
var subCategories = //所有子类别例如:服装等
到达每个变量的正确方法是什么?
谢谢!
答案 0 :(得分:1)
场地演示:
db.getCollection('categories').find(
{"categories.0.categories.image":"categories/mens-clothing-suits.jpg"},
{"categories.categories.image":1});
同样,您可以为其他字段执行此操作