Mongodb findone返回值-数组操作
mongodb findone return value - array manipulation
我正在运行node.js服务器(与express &Jade)和mongodb数据库。我有一个函数,我查询mongodb使用findOne。该文档是关于用户以及具有用户偏好的数组元素的。所以schema是这样的…
var userSchema = mongoose.Schema({
username : { type: String, index: true },
preferences : [{
_id : mongoose.Schema.ObjectId,
title : String,
color : String,
shape : String,
}]
});
UserTabs.findOne({ 'username' : userID }, function(err, data) {
//How do I manipulate data.preferences to change array order....
}
传递数据。Preferences对象为jade并打印数组内容列表。
问题:在findOne函数中如何操作数据?这样我就可以重新安排数组元素的顺序,然后将新对象传递回jade?顺便说一句:这个数据是什么对象类型?
仅供参考-我不想改变数据库中的顺序。
如果您想要操作Mongoose查询的结果,通常最好在查询中调用lean()
,这样您就可以直接获得一个可以自由修改的普通JavaScript对象。否则它就是一个不容易操作的Mongoose模型实例:
UserTabs.findOne({ 'username' : userID }).lean().exec(function(err, data) {
// data is a JavaScript object, modify it as needed. Use the standard
// JavaScript array manipulation functions to modify data.preferences.
...
}
相关文章:
- 将数组对象传递到struts2中的操作类
- 响应应包含一个对象,但得到的却是GET操作的数组
- Var工作,但在使用数组执行相同操作时停止
- 使用查询将对象数组发布到asp.net-mvc控制器操作的正确方法是什么
- 使用纯JavaScript或Lodash的JSON数组操作
- JavaScript 数组操作,使任何索引作为变量来获取值
- 数组操作 java 脚本
- JavaScript 中的 Web 服务调用和 JSON 数组操作
- JavaScript 数组操作以删除奇数数组元素
- 不允许对链接函数的元素参数进行数组操作
- Javascript布尔数组操作
- 数组操作到新的数组对象中
- JSON对象创建和JSON数组操作
- Javascript不必要的压缩数组操作
- 对象数组的下划线数组操作
- Mongodb findone返回值-数组操作
- 字符串的用法[.]数组操作
- 最佳mongodb数组操作的性能
- Javascript数组操作——是否有更声明性的方法?
- 如何将.reduce函数生成的数组操作为单独的键/值对?(JavaScript)