如何向findOne添加第二个参数{Engine: 1,_id: 0}以仅返回引擎数组{make:"Acrua", model:"CL", age:"1997"}。此集合中的所有文档都是唯一的。我应该使用查找而不是findOne。我只想访问一个文档并将引擎数组发送到客户端。
[
{
make: "Acura",
model: null,
year: null,
engine: ["2.0L", "2.8L"]
},
{
make: "Acura",
model: "CL",
year: null,
engine: ["3.2L", "4.0L"]
},
{
make: "Acura",
model: "CL",
year: "1997",
engine: ["2.2L", "3.0L"]
}
]
app.get("/ajax_/:tab/:category/:make/:model/:year", function (req, res) {
db.collection("Autos_").findOne({make: req.params.make, model: params.model, year: req.params.year}, function(err, result) {
if (result) {
console.log(result);
}
});
})
由于某些原因,您的参数可能未定义,因此您必须将它们显式设置为null
。仅将引擎投影为{_id: 0, Engine: 1}
只能投影引擎文件。因此,如果存在,您可以轻松返回result.engine
。
app.get("/ajax_/:tab/:category/:make/:model/:year", function (req, res) {
let make = req.params.make? req.params.make : null ;
let model = req.params.model? req.params.model : null;
let year = req.params.year ? req.params.year : null;
db.collection("Autos_").findOne(
{make: make, model: model, year: year},
{_id:0, engine:1},
function(err, result) {
if( err ) {
// internal error
throw new Error( err);
}
if (result) {
console.log(result.engine);
}
});
})
当您将“结果”记录到控制台时,它是什么样子的?您只需选择要查找的属性值并以这种方式返回即可。根据MongoDB文档:
findOne结果文档
您不能将游标方法应用于findOne()的结果,因为返回了单个文档。您可以直接访问该文档:
var myDocument = db.bios.findOne();
if (myDocument) {
var myName = myDocument.name;
print (tojson(myName));
}
指定要返回的字段
以下操作在bios集合中查找文档,并仅返回名称、contribs和\u id字段:
db.bios.findOne(
{ },
{ name: 1, contribs: 1 }
)
https://docs.mongodb.com/manual/reference/method/db.collection.findOne/
支持多线程环境以及大量数据并发下的C++用MongoDB驱动
问题内容: 使用SQL Server 2012: 产量 必须指定要从中选择的表 这正是我所期望的。 但有趣的是 返回1。 有人可以向我解释这里算什么吗? 编辑:并可能包括来源… 问题答案: SQL Server(在幕后)有效地将from应用于仅具有一行的虚拟表。因此,您将得到1作为计数。 会做同样的事情,例如,一次返回“ test”。 就像Oracle中的DUAL表,DB2中的SYSDUMMY1等
我的角度控制器中有一个对象数组。 我想返回数组中字段的索引值,该字段具有与我的参数匹配的 ID。 数组中只有一个具有匹配 的对象。
我刚刚开始学习平均堆栈,我被卡住了。我需要将下面的查询数据发送到前端。 我试过这样做,但没有成功
问题内容: 我有一个带有多个对象的集合“ companies”。每个对象都有“ _id”参数。我正在尝试从数据库获取此参数: 因此,我请求公司/ 4fcfd7f246e1464d05000001(4fcfd7f246e1464d05000001是我需要的对象的_id- parma),并且findOne不返回任何内容,这就是为什么console.log(’该公司没有数据’); 执行。 我绝对确定我有
我刚开始使用Spring和JPA/Hibernate,我会拔下我的头发。 这是我的: 谢谢你的帮助。