подполе node.js mongoose в документе - PullRequest
0 голосов
/ 29 июня 2018

Я уже некоторое время работаю с node.js и mongoose, и я врезаюсь в стену. У меня есть база данных с 20 000 документов, и когда я ищу базу данных из кли, она работает нормально.

db.Tickets.find({ "Customers.Customer.CustomerID" : '123123123' })

Возвращает 256 результатов

Схема

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

// Define collection and schema for Ticket
var Ticket = new Schema({
    UserName: {
        type: String
    },
    Status: {
        type: String
    },
    TicketNumber: {
        type: Number
    },
    Name: {
        type: String
    },
    Description: {
        type: String
    },
    TicketTypeName: {
        type: String
    },
    DueDate: {
        type: Date
    },
    MapCollectDate : {
        type: Date
    },
    NumberofUsersAffected : {
        type: Number
    },
    DNNumber : {
        type : String
    },
    RevisionDate : {
        type : Date
    },
    CommercialImpact : {
        type: String
    },
    Customers :[{
        Customer: [{
            CustomerID: Number,
            CustomerName: String
        }]
    }],

Хотя, если я проверю это в node.js, используя mongoose. Я не могу заставить его что-либо вернуть

У меня есть общий поиск, который работает

Ticket.find(function (err, tickets){

Но не удается включить конкретный поиск.

Я подключаюсь к Монго

const config = require('./db');
//const Course = require('./models/Course');
//const CourseRoute = require('./routes/CourseRoute');
const Ticket = require('./models/Ticket');
const TicketRoute = require('./routes/TicketRoute');

const PORT = 4000;

mongoose.connect(config.DB).then(
    () => {console.log('Connected to MongoDB') },
    err => { console.log('Error connecting to MongoDB' +err)
    });

Вывод журнала

Your node js server is running on PORT: 4000
Connected to MongoDB
Connected to MySQL

Конечная точка моего маршрута

router.route('/').get(function (req, res) {
        Ticket.find({ "Customers.Customer.CustomerID" : global.auth_username }, function(err, ticket) {            
        if(err){
            console.log(err);
        }
        else {
            res.json(tickets);
        }
    });
});

Также пробовал без переменной

router.route('/').get(function (req, res) {
        Ticket.find({ "Customers.Customer.CustomerID" : "123123123" }, function(err, ticket) {            
        if(err){
            console.log(err);
        }
        else {
            res.json(tickets);
        }
    });
});

1 Ответ

0 голосов
/ 29 июня 2018

У меня была такая же проблема, когда я забыл подключиться к Mongoose перед выполнением запроса

mongoose.connect(MONGO_URL, mongoOptions)
    .then(() => {
        // do your thing here
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...