моя текущая проблема с командой db.collection.find() mongoose. Я относительно новичок в mongoose/mongodb, но я понял, что это такое. Вот тестовый код, который я пытался запустить:Mongoose найти возвращающийся нечетный объект
mongoose.connect(url);
function main()
{
var db = mongoose.connection;
db.on('open', function() {
db.collection('Tweet').find({id: 631460910368956400}, function (err, data){
console.log(data);
})
/*var coll = db.collection('Tweet');
db.collection('Tweet').findOne({id: 631460910368956400},function (err, ret) {
if(err) console.log(err);
console.log(ret['id']);
//db.close();
});*/
});
}
main();
Данные, возвращаемые из закомментированного поля, не является странным объектом:
{ connection: null,
server: null,
disconnectHandler:
{ s: { storedOps: [], storeOptions: [Object], topology: [Object] },
length: [Getter] },
bson: {},
ns: 'TEST.Tweet',
cmd: { find: 'TEST.Tweet', limit: 0, skip: 0, query: {}, slaveOk: false },
options:
{ skip: 0,
limit: 0,
raw: undefined,
hint: null,
timeout: undefined,
slaveOk: false,
db:
{ domain: null,
_events: [Object],
_maxListeners: undefined,
s: [Object],
serverConfig: [Getter],
bufferMaxEntries: [Getter],
databaseName: [Getter],
и т.д. и т.п ... это продолжается в течение намного длиннее.
IP-адрес - это удаленное соединение, которое успешно соединяется. Я могу делать такие вещи, как добавление и удаление документов, но не могу фактически просмотреть документы из javascript. Я знаю, что это вызвано какой-то асинхронной проблемой, однако я не уверен, как ее исправить. Кроме того, прокомментированный код для .findOne(), похоже, полностью выводит данные в коде выше.
В чем проблема с кодом функции .find()? Объяснение того, почему текущая ошибка при извлечении данных также будет полезна.
Благодарим за помощь!
Это потому, что вы вернули объект базы данных из родного драйвера. Он возвращает «курсор», который является «нечетным объектом», о котором вы говорите. Вы, вероятно, хотите использовать методы модели мангуста. –
Это невероятно плохой документ со стороны Mongoose и native-mongodb-driver. Потратьте 3 часа на то, чтобы делать неправильные вещи, потому что у них плохая информация в нескольких местах. – Leon