我试图在猫鼬中使用select运算符为以下对象选择某些字段:
I am trying to use the select operator in mongoose to select certain fields for the following object:
{ "_id" : ObjectId("5249bb97a5de48bda3000003"), "id": 1, "geometry" : { "coordinates" : [ 1, 1 ], "type" : "Point" }, "properties" : { "TYPE" : "Some Type", "TIMESTAMP": ...... }, "type" : "Feature" }我想mongo仅返回'properties.TYPE'和properties.TIMESTAMP字段.我可以在mongo中执行以下查询:
I would like to mongo to return only the 'properties.TYPE' and properties.TIMESTAMP fields. I can do this in mongo with the following query:
db.features.find({id: 1}, {'properties.TYPE': 1, 'properties.TIMESTAMP': 1})我试图在猫鼬中使用select语句来做同样的事情: var字段= { 属性:{OBJECTID:1,TIMESTAMP:1} } var query = Feature.find({id:1}).select(fields);
I am trying to use the select statement in mongoose to do the same thing: var fields = { properties: { OBJECTID: 1, TIMESTAMP: 1 } } var query = Feature.find({id: 1}).select(fields);
Mongo尝试执行此操作时会引发错误,因此我不确定猫鼬是否正确设置了嵌套字段对象的格式.
Mongo throws an error when trying to do that so I am not sure mongoose is formatting a nested fields object correctly.
这是执行此操作的正确方法吗?
Is this the proper way to do this?
推荐答案您可以在select对象中的Mongoose中使用与find示例相同的点符号样式:
You can use the same dot notation style in the select object with Mongoose as you do in your find example:
var fields = { 'properties.OBJECTID': 1, 'properties.TIMESTAMP': 1 }; var query = Feature.find({id: 1}).select(fields);您还可以使用猫鼬样式选择字符串:
You can also use a Mongoose style selection string:
var query = Feature.find({id: 1}) .select('properties.OBJECTID properties.TIMESTAMP');更多推荐
猫鼬选择字段(嵌套)
发布评论