我在SailsJs中有一个项目,使用含有mongodb数据库的水线。 我定义了一些字段,这些字段不是必填字段。 我需要搜索未定义该字段的记录。例如:
{id: 10, name: "jj"}
{id: 11, name: "kk", surname: "sr"}
我想搜索没有定义姓氏的地方。任何人都知道如何做到这一点?
我试过了
{surname: null}
{surname: ''}
没有什么能产生预期的结果。
答案 0 :(得分:4)
我认为你想要的是Model.find( {where: {surname: null } })
查看Waterline Query language documentation
答案 1 :(得分:1)
我认为你想要的是$ exists:false。水线目前不支持。您可以使用Model.native()来使用它。
它返回MongoDB集合,您可以使用本机MongoDB操作:
完整代码看起来更像
Model.native(function(err, collection) {
if (err) throw err;
collection.find({
surname: { $exists: false}
}).toArray(yourCallback);
});