【发布时间】:2015-11-09 22:25:37
【问题描述】:
我的 json 结构如下所示
{
"_id" : ObjectId("563872d997e343d8437e30ce"),
"bookId" : NumberInt(1),
"updateAt" : ISODate("2015-11-03T08:39:53.633+0000"),
"createdAt" : ISODate("2015-11-03T08:39:53.632+0000"),
"Images" : [
{
"path" : "/opt/bookish/uploads/e11de938d3394622b77f85904a0fbfba.jpg",
"contentType" : "image/jpg",
"imageName" : "e11de938d3394622b77f85904a0fbfba.jpg",
"_id" : ObjectId("563dd28f9305a68548e71f89")
},
{
"path" : "/opt/bookish/uploads/e11de938d3394622b77f85904a0fbfba.jpg",
"contentType" : "image/jpg",
"imageName" : "e11de938d3394622b77f85904a0fbfba.jpg",
"_id" : ObjectId("563dd28f9305a68548e71f89")
},
{
"path" : "/opt/bookish/uploads/e11de938d3394622b77f85904a0fbfba.jpg",
"contentType" : "image/jpg",
"imageName" : "e11de938d3394622b77f85904a0fbfba.jpg",
"_id" : ObjectId("563dd28f9305a68548e71f89")
}
],
}
这里我们有一个图像数组,如何只从数组中获取第一张图像以及 bookid
Books.find({},'bookId Title Author PublishedDate ShortDesc Images isDeleteBook isPublished',function(err,books){
if(err)
res.send(err);
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
console.log("++++++++++++++++++++++++");
console.log(books);
if(books.Images){
console.log(books.Images.length);
}
res.send(books);
上面代码中的图像将给出整个数组,而我只需要数组的第一个元素
【问题讨论】:
-
或者基本上使用
$slice。即Books.find({},{ "Images": { "$slice": 0 } })
标签: arrays json node.js mongodb