jav*_*ttt 5 javascript mongoose mongodb node.js express
我使用mongo创建了一个本地数据库(实际使用本教程)
它有一个名为'simple'的数据库和名为'people'的集合.然后我用每个元素导入json
{
"id": 1,
"guid": "1581cfde-f2fc-44f8-8953-511331e943ab",
"isActive": true,
"firstName": "Ilene",
"lastName": "Kent",
"email": "carolegoodman@intrawear.com"
}
Run Code Online (Sandbox Code Playgroud)
然后,我在节点应用程序中创建架构和Person模型
var express = require('express');
var path = require('path');
var mongoose = require('mongoose');
var app = express();
app.set('port', (process.env.PORT || 5000));
mongoose.connect('mongodb://localhost/simple')
var personSchema = {
firstname: String,
lastname: String,
email: String
}
var Person = mongoose.model('Person', personSchema, 'people')
app.get('/users', function(req,res){
Person.find(function(err, doc){
var x = doc[0]
console.log(x)
console.log(Object.keys(x))
res.send(200);
});
});
Run Code Online (Sandbox Code Playgroud)
在Person模型上调用find()时,我得到了记录(对于console.log(doc [0])) - 返回的doc中的第一项:
{ _id: 548e41afa0bad91d53f34cce,
id: 0,
guid: 'af6a931d-1801-4662-9d52-c95dc97bac22',
isActive: false,
firstName: 'Janna',
lastName: 'Shelton',
email: 'crossoconnor@geekology.com' }
Run Code Online (Sandbox Code Playgroud)
但我的问题是,当我在doc [0](即doc [0] .firstName)上查找属性firstName时,我得到一个未定义的.
我已经尝试过诊断这个,而Object.keys(doc [0])给了我:
[ '$__',
'isNew',
'errors',
'_maxListeners',
'_doc',
'_pres',
'_posts',
'save',
'_events' ]
Run Code Online (Sandbox Code Playgroud)
我怀疑当你想从你返回的元素中访问数据时,必须有一些特殊的mongoose方法 - 但我在文档或这里找不到答案.
谢谢
| 归档时间: |
|
| 查看次数: |
2207 次 |
| 最近记录: |