如何使用猫鼬操作从 mongo db 返回的数据
How to manipulate data returned from mongo db using mongoose
我使用 mongo 创建了一个本地数据库(实际上使用本教程)
它有一个名为"simple"的数据库和名为"people"的集合。然后我导入每个元素的 json 作为
{
"id": 1,
"guid": "1581cfde-f2fc-44f8-8953-511331e943ab",
"isActive": true,
"firstName": "Ilene",
"lastName": "Kent",
"email": "carolegoodman@intrawear.com"
}
然后,我在节点应用中创建架构和人员模型
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);
});
});
在人员模型上调用 find() 时,我被记录(对于控制台.log(doc[0])) - 文档中返回的第一项:
{ _id: 548e41afa0bad91d53f34cce,
id: 0,
guid: 'af6a931d-1801-4662-9d52-c95dc97bac22',
isActive: false,
firstName: 'Janna',
lastName: 'Shelton',
email: 'crossoconnor@geekology.com' }
但我的问题是,当我在 doc[0](即.doc[0].firstName)上查找属性 firstName 时,我得到了一个未定义的。
我尝试诊断这个,Object.keys(doc[0])给了我:
[ '$__',
'isNew',
'errors',
'_maxListeners',
'_doc',
'_pres',
'_posts',
'save',
'_events' ]
这意味着当您想从返回的元素访问数据时,我怀疑猫鼬必须有一些特殊的方法 - 但我在文档或这里找不到答案。
谢谢
您会收到一组文档。猫鼬原料药
doc[0].get('firstName')
当您只需要可以自由操作的文档的纯JavaScript表示形式时,请将lean()
添加到Mongoose查询链中:
app.get('/users', function(req,res){
Person.find().lean().exec(function(err, docs){
var x = docs[0]
console.log(x)
console.log(Object.keys(x))
res.send(200);
});
});
在查询中使用 .lean(),如下所示。
db.collection.find().lean().then(function(data){})
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- mongodb中db.collection.find()的返回类型是什么
- Delete方法不适用于Indexed DB HTML5.它返回成功,但未删除记录
- 如何使用猫鼬操作从 mongo db 返回的数据
- 在 Phonegap DB 函数中返回函数外部的变量
- db.collection findOne by id 运行但不返回
- Mongo DB,Node Express,从MongoDB返回的输出中提取一个元素
- 在MongoDB db.collection.find()中返回格式化的值
- ajax返回成功,但mysql-db未更新
- 返回从循环中调用的DB查询检索到的数据时出现问题