Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在mongo集合内的对象内搜索_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 在mongo集合内的对象内搜索

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_

我正在玩MongoDB和mongoose,遇到了一个小小的障碍,atm试图在集合中的对象中实现搜索

我有一个模式,如下所示:

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});