Node.js 在mongo集合内的对象内搜索
我正在玩MongoDB和mongoose,遇到了一个小小的障碍,atm试图在集合中的对象中实现搜索 我有一个模式,如下所示:Node.js 在mongo集合内的对象内搜索,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我正在玩MongoDB和mongoose,遇到了一个小小的障碍,atm试图在集合中的对象中实现搜索 我有一个模式,如下所示: var schema = mongoose.Schema({ form_id: Number, author: Number, data: String, files: String, date: { type: Date, default: Date.now }, }); 数据只是一个键/值的JSON对象 记录的一个示例条目: { "form_
var schema = mongoose.Schema({
form_id: Number,
author: Number,
data: String,
files: String,
date: { type: Date, default: Date.now },
});
数据
只是一个键/值的JSON对象
记录的一个示例条目:
{
"form_id" : 5,
"author" : 1,
"data" : "
{\"staff\":\"Joe Blow\", \"date\":\"25th Jan 2013\"}",
"_id" : ObjectId("5101fd4ee6ca550000000003"),
"date" : ISODate("2013-01-25T03:34:38.377Z"),
"__v" : 0
}
如何在数据对象内搜索特定值?我正在尝试做以下事情,但没有任何运气:(
如果省略正则表达式周围的单引号,则应该可以:
db.forms.find({form_id: 5, data: /Joe/i});
但是您确定要数据
包含JSON字符串而不是对象吗?对象会给您带来更大的灵活性。也许您想要这个
db.forms.find({form_id: 5, "data.staff": /Joe/i});
如果表单的“数据”属性是一个对象,那么它会更好
db.forms.find({form_id: 5, "data.staff": /Joe/i});