gpt4 book ai didi

node.js - 使用 SailsJS 模型定义获取查询属性

转载 作者:可可西里 更新时间:2023-11-01 10:00:36 24 4
gpt4 key购买 nike

我想通过 id 查询一个图书馆,我只需要一些属性。我尝试了以下脚本,但它不起作用:

Library.findOne({
id: libraryId
}, {
latitude: 1, longitude: 1,
name: 1, address: 1, image: 1
}).exec(function (err, libObj) {
if (err)
return res.ok(err);

return res.ok(libObj);
});

我的代码有什么问题?

最佳答案

对于投影,您可以使用 native() 直接访问 mongo 驱动程序的方法:

var criteria = { id: libraryId },
projection = { latitude: 1, longitude: 1, name: 1, address: 1, image: 1 };
// Grab an instance of the mongo-driver
Library.native(function(err, collection) {
if (err) return res.serverError(err);

// Execute any query that works with the mongo js driver
collection.findOne(criteria, projection).exec(function (err, libObj) {
console.log(libObj);
});
});

-- 更新 --

另一种选择是使用 find() 方法可以接受标准和投影文档作为参数并附加 limit(1) 只返回一个文档。对于投影对象,您需要使用包含投影字段数组的 select 键:

var criteria = { _id: Library.mongo.objectId(libraryId) },
projection = { select: [ "latitude", "longitude", "name", "address", "image" ] };

Library.find(criteria, projection).limit(1).exec(function (err, res) {
var libObj = res[0];
console.log(libObj );
});

关于node.js - 使用 SailsJS 模型定义获取查询属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32966691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com