У меня есть база данных, созданная с использованием node и mongodb (используя mongoose), которая используется для поддержки веб-сайта. В основном это использует схемы. Теперь мне нужно запросить эту базу данных в Python, используя колбу, и я использую Pymongo для этого. Эта база данных имеет только одну коллекцию.
app = Flask(__name__)
app.config["MONGO_DBNAME"] = databaseName
app.config["MONGO_URI"] = databaseURL
mongo = PyMongo(app)
db = mongo.db
collection = db[collectionName]
collection_list = collection.find({'model':'familySchema'})
#There is only one entry related to 'familySchema' model.
for document in collection_list:
print(document)
# This is what gets printed
# {'_id': ObjectId('5a8d144970512751d3d9e0d9'), 'model': 'familySchema', 'field': '_id', 'count': 95, '__v': 0}
Итак, когда я запрашиваю базу данных, я получаю результат, как показано выше. Клавиша count
, отображающая 95
, является правильной, поскольку есть 95 записей, связанных с моделью (я добавил их на веб-сайте). Но я не могу получить к ним доступ. Все, что я получаю, это название модели и количество записей в ней. Я хочу получить доступ ко всем записям с использованием этой модели. Я новичок в использовании монго и мне нужна помощь в этом. Любые предложения о том, как это сделать?
В узле это делается так.
autoIncrement = require('mongoose-auto-increment');
var UnknownSchema = new Schema({
pictureType: {type: String},
location: {type: String},
leafname: {type: String},
createduser: {type: String},
lastedituser: {type: String},
timestamp: { type: Date, default: Date.now},
});
UnknownSchema.plugin(autoIncrement.plugin,'UnknownSchema');
var addUnknown=mongoose.model('addUnknown', UnknownSchema);
//It is fetched like this
var getUnknown=function(req,res){
addUnknown.find({},function (err,data) {
if(err){
res.send(err);
}else {
res.send(data);
}
})
};