gpt4 book ai didi

node.js - 尽管 MongoDB 中存在集合,Mongoose 显示空对象

转载 作者:太空宇宙 更新时间:2023-11-04 01:45:36 26 4
gpt4 key购买 nike

我尝试在 ExpressJS 应用程序中使用 mongoose 从本地 mongodb 获取数据。但无法获取数据。

我尝试使用 mongoose 和 mongojs 从 mongodb 检索数据。

甚至尝试在架构中传递正确的集合名称。

这是我的代码。

使用monogjs(blog.js)

var mongojs = require('mongojs');


var db = mongojs('mongodb://localhost:27017/mydb', ['blogs']);

// On Connection
db.on('connect', function () {
console.log('Mongo JS database connected')
});
//On Error
db.on('error', function (err) {
console.log('Mongo JS database error', err)
});

module.exports.getBlogs = function(res) {
//var data = db.blogs.find();
db.blogs.find({}, (rec, res)=>{
if(rec){
res.json(rec);
console.log('Data '+ rec)
}else{
console.log('No Data '+ rec)
}
});
}

使用 Mongoose (blogs.js)

----------------------
const mongoose = require('mongoose');
const config = require('../config/database');
const DataSchema = mongoose.Schema ({
"title": { type: String },
"Description": { type: String },
"Rate": { type: Number }
}, { collection : 'Datas' });

const Datas = module.exports = mongoose.model('Datas', DataSchema);
//const Datas = module.exports = mongoose.model('Datas', DataSchema,
'Datas');

module.exports.getblogs = function(){
Data.find({}, (recs)=>{
if(recs){
console.log('Records found' + recs)
}else{
console.log('Records not found');
}
});

最佳答案

尝试给出下面的代码可能会起作用

在 Mongodb 集合中插入一条记录

const {MongoClient, ObjectID} = require('mongodb');//destructre the MongoClient object

var obj = new ObjectID();
console.log(obj);
const url = "mongodb://localhost:27017/";
var user ={name:'Prashant',Age:22};
var {name}=user ; //destructre the user object
console.log(name);
MongoClient.connect(url,function(err,db){
if(err) throw err;
var dbo=db.db("TodoApp");
var myobj ={
name:"Prashant",
address:"kanpur",
Age:22,
Work:"Accord"
};
dbo.collection("user").insertOne(myobj,function(err,res){
if(err) throw err;
console.log(res.ops[0]._id.getTimestamp());
db.close();
});
});

从 Mongodb 集合中获取一条记录。

const {mongoose}= require('./../server/db/mongoose');
const {Todo} = require('./../server/models/todo');
const {ObjectID} = require('mongodb');
const {User} = require('./../server/models/user');
var id= '5b13960c4730b43f80cef6af';

if(!ObjectID.isValid(id)){
console.log('Id not valid');
};

Todo.find({
_id: id
}).then((todos)=>{
console.log('Tdod',todos);
});

Todo.findOne({
_id: id
}).then((todo)=>{
console.log('Todo',todo);
});

关于node.js - 尽管 MongoDB 中存在集合,Mongoose 显示空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51605449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com